Function at 0x4a85f6
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0x8c
mov eax, 0x4ea5e4
call fcn.004dc9ce
mov edi, edx
mov dword [ebp - 0x28], edi
mov ebx, ecx
xor esi, esi
mov dword [ebp - 0x18], esi
and dword [ebp - 4], esi
lea edx, [ebp + 0xc]
push 0x52a150
lea ecx, [ebp - 0x3c]
call fcn.004057d6
cmp dword [ebp + 8], esi
mov edx, 0x52a718
mov ecx, 0x4f4b10
mov byte [ebp - 4], 1
cmove ecx, edx
mov edx, eax
push ecx
lea ecx, [ebp - 0x38]
call fcn.004057d6
pop ecx
pop ecx
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x3c]
add ecx, 0xfffffff0
call fcn.004092af
mov eax, dword [ebx + 0x14]
cmp eax, 0x1a
ja case.default.0x4a8667
movzx eax, byte [eax + 0x4aa8da]
jmp dword [eax*4 + 0x4aa8a2]
push ecx
mov esi, esp
mov dword [ebp - 0x2c], esp
mov dword [ebp - 0x34], esi
mov ecx, dword [ebx + 0x10]
sub ecx, 0x10
call fcn.00408dc6
add eax, 0x10
mov dword [esi], eax
push ecx
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 4
mov ecx, esp
push eax
call fcn.00408e19
mov edx, edi
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x14]
call fcn.004a18a6
pop ecx
pop ecx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x14]
cmp dword [eax - 0xc], 0
je 0x4a8779
push ecx
lea eax, [ebp - 0x14]
mov ecx, esp
push eax
call fcn.00408e19
xor edx, edx
lea ecx, [ebp - 0x30]
call fcn.00416895
pop ecx
push 2
push ecx
mov byte [ebp - 4], 6
mov esi, esp
mov dword [ebp - 0x34], esi
mov ecx, dword [ebx + 0x10]
sub ecx, 0x10
mov dword [ebp - 0x2c], esp
call fcn.00408dc6
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 7
mov ecx, esp
mov dword [ebp - 0x34], esp
push 0x4f4b10
call fcn.004095ca
push ecx
mov byte [ebp - 4], 8
lea eax, [ebp - 0x38]
mov ecx, esp
mov dword [ebp - 0x68], esp
push eax
call fcn.00408e19
push edi
push 1
push ecx
mov byte [ebp - 4], 9
lea eax, [ebp - 0x30]
mov edi, dword [ebx]
mov ecx, esp
mov dword [ebp - 0x70], esp
push eax
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x14]
mov ecx, esp
mov dword [ebp - 0x3c], esp
push eax
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0xb
mov esi, esp
mov dword [ebp - 0x20], esi
mov ecx, dword [ebx + 0x10]
sub ecx, 0x10
call fcn.00408dc6
mov ecx, dword [ebp + 8]
add eax, 0x10
mov dword [esi], eax
mov edx, edi
mov byte [ebp - 4], 6
call fcn.004ab4fd
mov ecx, dword [ebp - 0x30]
add esp, 0x24
lea ecx, [ecx - 0x10]
call fcn.004092af
mov eax, dword [ebp - 0x14]
lea ecx, [eax - 0x10]
call fcn.004092af
jmp case.default.0x4a8667
push ecx
mov esi, esp
mov dword [ebp - 0x2c], esp
mov dword [ebp - 0x34], esi
mov ecx, dword [ebx + 0x10]
sub ecx, 0x10
call fcn.00408dc6
add eax, 0x10
mov dword [esi], eax
push ecx
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0xc
mov ecx, esp
push eax
call fcn.00408e19
mov edx, edi
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x20]
call fcn.004a18a6
pop ecx
pop ecx
mov byte [ebp - 4], 0xd
cmp dword [ebx + 0x14], 7
jne 0x4a87ff
push ecx
mov ecx, esp
mov dword [ebp - 0x2c], esp
push 0x52a9c8
call fcn.004095ca
push ecx
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0xe
mov ecx, esp
push eax
call fcn.00408e19
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xd
call fcn.00416e21
pop ecx
pop ecx
xor ecx, ecx
inc ecx
jmp 0x4a8850
cmp dword [ebx + 0x14], 4
jne 0x4a880c
mov eax, 0x52a9c8
jmp 0x4a881d
cmp dword [ebx + 0x14], 5
mov eax, 0x4f4920
mov ecx, 0x52a9cc
cmovne eax, ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x2c], esp
push eax
call fcn.004095ca
push ecx
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 0x10
mov ecx, esp
push eax
call fcn.00408e19
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0xf
call fcn.00416ee2
pop ecx
pop ecx
push 2
pop ecx
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x64]
push eax
call fcn.004131c7
mov dword [ebp - 4], 0x11
mov eax, dword [ebp - 0x14]
test al, 2
je 0x4a8885
and eax, 0xfffffffd
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x12
call fcn.004131f7
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x13
test al, 1
je 0x4a88a0
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x14
call fcn.004131f7
mov byte [ebp - 4], 0x13
and dword [ebp - 0x14], 0
lea ecx, [ebp - 0x64]
call fcn.0041358d
test eax, eax
je 0x4a89d0
mov ecx, dword [ebp - 0x64]
push ecx
mov esi, esp
mov dword [ebp - 0x2c], esi
mov eax, dword [ebp - 0x14]
mov ecx, dword [ecx + eax*4]
sub ecx, 0x10
call fcn.00408dc6
add eax, 0x10
lea ecx, [ebp - 0x30]
xor edx, edx
mov dword [esi], eax
call fcn.00416895
pop ecx
mov byte [ebp - 4], 0x15
cmp dword [ebx + 0x14], 4
jne 0x4a88e9
push 3
jmp 0x4a88f1
cmp dword [ebx + 0x14], 5
jne 0x4a88f4
push 4
pop eax
jmp 0x4a8900
xor eax, eax
cmp dword [ebx + 0x14], 6
setne al
add eax, 5
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x2c], esp
mov dword [ebp - 0x34], esi
mov ecx, dword [ebx + 0x10]
sub ecx, 0x10
call fcn.00408dc6
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x16
mov ecx, esp
mov dword [ebp - 0x34], esp
push 0x4f4b10
call fcn.004095ca
push ecx
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x38]
mov ecx, esp
mov dword [ebp - 0x68], esp
push eax
call fcn.00408e19
push edi
push 1
push ecx
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x30]
mov edi, dword [ebx]
mov ecx, esp
mov dword [ebp - 0x70], esp
push eax
call fcn.00408e19
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x64]
push ecx
mov esi, esp
mov dword [ebp - 0x3c], esp
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x14]
mov ecx, dword [ecx + eax*4]
sub ecx, 0x10
call fcn.00408dc6
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x1a
mov esi, esp
mov dword [ebp - 0x24], esi
mov ecx, dword [ebx + 0x10]
sub ecx, 0x10
call fcn.00408dc6
mov ecx, dword [ebp + 8]
add eax, 0x10
mov dword [esi], eax
mov edx, edi
mov byte [ebp - 4], 0x15
call fcn.004ab4fd
mov byte [ebp - 4], 0x13
add esp, 0x24
mov ecx, dword [ebp - 0x30]
lea ecx, [ecx - 0x10]
call fcn.004092af
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x64]
inc esi
mov dword [ebp - 0x14], esi
call fcn.0041358d
mov edi, dword [ebp - 0x28]
cmp esi, eax
jb 0x4a88b4
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x1b
call fcn.004131f7
mov ecx, dword [ebp - 0x20]
lea ecx, [ecx - 0x10]
jmp 0x4a877c
push ecx
mov esi, esp
mov dword [ebp - 0x2c], esp
mov dword [ebp - 0x34], esi
mov ecx, dword [ebx + 0x10]
sub ecx, 0x10
call fcn.00408dc6
add eax, 0x10
mov dword [esi], eax
push ecx
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x1d
mov ecx, esp
push eax
call fcn.00408e19
mov edx, edi
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x24]
call fcn.004a18a6
pop ecx
pop ecx
mov byte [ebp - 4], 0x1e
mov eax, dword [ebp - 0x24]
cmp dword [eax - 0xc], 0
je 0x4a8779
mov eax, dword [ebx + 0x14]
mov esi, 0x4f4b10
cmp eax, 3
jne 0x4a8a91
push ecx
mov ecx, esp
mov dword [ebp - 0x2c], esp
push esi
call fcn.004095ca
push ecx
mov eax, esp
mov byte [ebp - 4], 0x1f
push dword [ebp - 0x24]
push 0x5383a8
push eax
call fcn.0041e0d9
add esp, 0xc
mov byte [ebp - 4], 0x1e
mov edx, edi
lea ecx, [ebp - 0x3c]
call fcn.004a18a6
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x20
call fcn.0040585f
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0x3c]
lea ecx, [ecx - 0x10]
call fcn.004092af
mov eax, dword [ebx + 0x14]
cmp eax, 2
je 0x4a8a9b
cmp eax, 3
jne 0x4a8ab4
push 0x5383d0
lea ecx, [ebp - 0x24]
call fcn.0040c8af
test eax, eax
jne 0x4a8ab4
mov ecx, dword [ebp - 0x24]
jmp 0x4a89df
cmp dword [ebx + 0x14], 3
jne 0x4a8ac4
mov ecx, dword [ebp + 0xc]
call fcn.0041e34f
jmp 0x4a8ac7
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x14]
call fcn.004095ca
mov byte [ebp - 4], 0x21
cmp dword [ebx + 0x14], 2
jne 0x4a8af6
push esi
push 0x5368e0
lea ecx, [ebp - 0x14]
call fcn.00411828
push esi
push 0x5383d8
lea ecx, [ebp - 0x14]
call fcn.00411828
push ecx
lea eax, [ebp - 0x24]
mov ecx, esp
push eax
call fcn.00408e19
xor edx, edx
lea ecx, [ebp - 0x30]
call fcn.00416895
pop ecx
push 2
push ecx
mov byte [ebp - 4], 0x22
mov esi, esp
mov dword [ebp - 0x34], esi
mov ecx, dword [ebx + 0x10]
sub ecx, 0x10
mov dword [ebp - 0x2c], esp
call fcn.00408dc6
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x23
mov ecx, esp
mov dword [ebp - 0x34], esp
push 0x4f4b10
call fcn.004095ca
push ecx
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0x38]
mov ecx, esp
mov dword [ebp - 0x68], esp
push eax
call fcn.00408e19
push edi
push 1
push ecx
mov byte [ebp - 4], 0x25
lea eax, [ebp - 0x30]
mov esi, dword [ebx]
mov ecx, esp
mov dword [ebp - 0x70], esp
push eax
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0x26
lea eax, [ebp - 0x24]
mov ecx, esp
mov dword [ebp - 0x3c], esp
push eax
call fcn.00408e19
push ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 0x27
mov ecx, esp
push eax
call fcn.00408e19
mov ecx, dword [ebp + 8]
mov edx, esi
mov byte [ebp - 4], 0x22
call fcn.004ab4fd
mov ecx, dword [ebp - 0x30]
add esp, 0x24
lea ecx, [ecx - 0x10]
call fcn.004092af
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.004092af
mov eax, dword [ebp - 0x24]
jmp 0x4a8779
push ecx
mov esi, esp
mov dword [ebp - 0x2c], esp
mov dword [ebp - 0x34], esi
mov ecx, dword [ebx + 0x10]
sub ecx, 0x10
call fcn.00408dc6
add eax, 0x10
mov dword [esi], eax
push ecx
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x28
mov ecx, esp
push eax
call fcn.00408e19
mov edx, edi
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x54]
call fcn.004a193d
pop ecx
pop ecx
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x29
call fcn.004aafe4
test al, al
je 0x4a8c17
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x54]
call fcn.0041232c
jmp case.default.0x4a8667
lea edx, [ebp - 0x54]
lea ecx, [ebp - 0x64]
call fcn.004170b7
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x64]
xor esi, esi
mov dword [ebp - 0x20], esi
call fcn.0041358d
test eax, eax
je 0x4a8df7
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax + esi*4]
sub ecx, 0x10
call fcn.00408dc6
lea ecx, [eax + 0x10]
mov dword [ebp - 0x18], ecx
mov byte [ebp - 4], 0x2c
cmp dword [ebx + 0x14], 0x12
jne 0x4a8cd1
push 0
mov edx, 0x5383ec
call fcn.0041dd07
pop ecx
test eax, eax
je 0x4a8cf3
mov eax, dword [ebp - 0x18]
push 0x5383ec
mov esi, dword [eax - 0xc]
call dword [0x4ee398]
sub esi, eax
lea ecx, [ebp - 0x18]
push esi
lea eax, [ebp - 0x30]
push eax
call fcn.004122e4
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x2d
call fcn.0040585f
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x30]
lea ecx, [ecx - 0x10]
call fcn.004092af
push 0x4f4920
lea ecx, [ebp - 0x18]
call fcn.004175e6
mov eax, dword [ebp - 0x18]
cmp dword [eax - 0xc], 0
jne 0x4a8cf3
lea ecx, [eax - 0x10]
mov byte [ebp - 4], 0x2b
call fcn.004092af
jmp 0x4a8de0
cmp dword [ebx + 0x14], 0x13
jne 0x4a8cf3
mov esi, 0x5383f8
push 0
mov edx, esi
call fcn.0041dd56
pop ecx
test eax, eax
jne 0x4a8cf3
push esi
lea ecx, [ebp - 0x18]
call fcn.00409fa2
push ecx
lea eax, [ebp - 0x18]
mov ecx, esp
push eax
call fcn.00408e19
xor edx, edx
lea ecx, [ebp - 0x14]
call fcn.00416895
pop ecx
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x2e
call fcn.0040585f
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.004092af
push 7
push ecx
mov esi, esp
mov dword [ebp - 0x2c], esp
mov dword [ebp - 0x34], esi
mov ecx, dword [ebx + 0x10]
sub ecx, 0x10
call fcn.00408dc6
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x2f
mov ecx, esp
mov dword [ebp - 0x34], esp
push 0x4f4b10
call fcn.004095ca
push ecx
mov byte [ebp - 4], 0x30
lea eax, [ebp - 0x38]
mov ecx, esp
mov dword [ebp - 0x68], esp
push eax
call fcn.00408e19
push edi
push 1
push ecx
mov byte [ebp - 4], 0x31
lea eax, [ebp - 0x18]
mov edi, dword [ebx]
mov ecx, esp
mov dword [ebp - 0x70], esp
push eax
call fcn.00408e19
mov byte [ebp - 4], 0x32
mov ecx, dword [ebp - 0x64]
push ecx
mov esi, esp
mov dword [ebp - 0x24], esp
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp - 0x20]
mov ecx, dword [ecx + eax*4]
sub ecx, 0x10
call fcn.00408dc6
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x33
mov esi, esp
mov dword [ebp - 0x1c], esi
mov ecx, dword [ebx + 0x10]
sub ecx, 0x10
call fcn.00408dc6
mov ecx, dword [ebp + 8]
add eax, 0x10
mov dword [esi], eax
mov edx, edi
mov byte [ebp - 4], 0x2c
call fcn.004ab4fd
mov byte [ebp - 4], 0x2b
add esp, 0x24
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.004092af
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x20]
lea ecx, [ebp - 0x64]
inc esi
mov dword [ebp - 0x20], esi
call fcn.0041358d
cmp esi, eax
jb 0x4a8c3b
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x34
call fcn.004131f7
mov byte [ebp - 4], 0x35
jmp 0x4a8c0a
push ecx
lea eax, [ebp - 0x38]
mov ecx, esp
push eax
call fcn.00408e19
mov edx, edi
lea ecx, [ebp - 0x44]
call fcn.004a1b1a
pop ecx
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x38
push eax
lea ecx, [ebp - 0x44]
call fcn.0040e4c7
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
jmp 0x4a8f36
mov ecx, dword [ecx + 0x10]
sub ecx, 0x10
call fcn.00408dc6
add eax, 0x10
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0x39
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x14]
sub ecx, 0x10
call fcn.00408dc6
add eax, 0x10
mov dword [ebp - 0x20], eax
push ecx
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0x3a
mov ecx, esp
push eax
call fcn.00408e19
xor edx, edx
lea ecx, [ebp - 0x30]
call fcn.00416895
pop ecx
push 2
push ecx
mov byte [ebp - 4], 0x3b
lea eax, [ebp - 0x28]
mov ecx, esp
mov dword [ebp - 0x2c], esp
push eax
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0x3c
mov ecx, esp
mov dword [ebp - 0x34], esp
push 0x4f4b10
call fcn.004095ca
push ecx
mov byte [ebp - 4], 0x3d
lea eax, [ebp - 0x38]
mov ecx, esp
mov dword [ebp - 0x68], esp
push eax
call fcn.00408e19
push edi
push 1
push ecx
mov byte [ebp - 4], 0x3e
lea eax, [ebp - 0x30]
mov esi, dword [ebx]
mov ecx, esp
mov dword [ebp - 0x70], esp
push eax
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0x3f
lea eax, [ebp - 0x20]
mov ecx, esp
mov dword [ebp - 0x1c], esp
push eax
call fcn.00408e19
push ecx
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x40
mov ecx, esp
push eax
call fcn.00408e19
mov ecx, dword [ebp + 8]
mov edx, esi
mov byte [ebp - 4], 0x3b
call fcn.004ab4fd
mov ecx, dword [ebp - 0x30]
add esp, 0x24
lea ecx, [ecx - 0x10]
call fcn.004092af
mov ecx, dword [ebp - 0x20]
lea ecx, [ecx - 0x10]
call fcn.004092af
mov byte [ebp - 4], 0x38
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.004092af
lea ecx, [ebp - 0x14]
call fcn.0040e6c6
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x44]
call fcn.0040e4b9
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [eax]
jne 0x4a8e3d
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x44]
call fcn.0040e5e7
lea ecx, [ebp - 0x44]
call fcn.0040e5dd
jmp case.default.0x4a8667
push ecx
lea eax, [ebp - 0x38]
mov ecx, esp
push eax
call fcn.00408e19
mov edx, edi
lea ecx, [ebp - 0x44]
call fcn.004a1b1a
pop ecx
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x43
push eax
lea ecx, [ebp - 0x44]
call fcn.0040e4c7
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
jmp 0x4a912a
mov ecx, dword [ecx + 0x10]
sub ecx, 0x10
call fcn.00408dc6
add eax, 0x10
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 0x44
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x14]
sub ecx, 0x10
call fcn.00408dc6
add eax, 0x10
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0x45
call fcn.00409016
push eax
lea ecx, [ebp - 0x14]
call fcn.00408e41
mov byte [ebp - 4], 0x46
call fcn.00409016
push eax
lea ecx, [ebp - 0x28]
call fcn.00408e41
mov byte [ebp - 4], 0x47
mov ecx, dword [ebp - 0x24]
call fcn.00416d25
test eax, eax
je 0x4a90f2
push ecx
mov esi, esp
mov dword [ebp - 0x2c], esp
mov dword [ebp - 0x34], esi
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
call fcn.00408dc6
add eax, 0x10
mov dword [esi], eax
push ecx
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x48
mov ecx, esp
lea esi, [ebp - 0x14]
push eax
call fcn.00408e19
mov edx, esi
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x28]
call fcn.004a83b4
pop ecx
pop ecx
test eax, eax
je 0x4a90f2
mov eax, dword [ebp - 0x14]
cmp dword [eax - 0xc], 0
je 0x4a90f2
push ecx
mov eax, esi
mov ecx, esp
push eax
call fcn.00408e19
xor edx, edx
lea ecx, [ebp - 0x30]
call fcn.00416895
pop ecx
push 2
push ecx
mov byte [ebp - 4], 0x49
lea eax, [ebp - 0x20]
mov ecx, esp
mov dword [ebp - 0x2c], esp
push eax
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0x4a
mov ecx, esp
mov dword [ebp - 0x34], esp
push 0x4f4b10
call fcn.004095ca
push ecx
mov byte [ebp - 4], 0x4b
lea eax, [ebp - 0x38]
mov ecx, esp
mov dword [ebp - 0x68], esp
push eax
call fcn.00408e19
push edi
push 1
push ecx
mov byte [ebp - 4], 0x4c
lea eax, [ebp - 0x30]
mov esi, dword [ebx]
mov ecx, esp
mov dword [ebp - 0x70], esp
push eax
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0x4d
lea eax, [ebp - 0x14]
mov ecx, esp
mov dword [ebp - 0x7c], esp
push eax
call fcn.00408e19
push ecx
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x4e
mov ecx, esp
push eax
call fcn.00408e19
mov ecx, dword [ebp + 8]
mov edx, esi
mov byte [ebp - 4], 0x49
call fcn.004ab4fd
mov ecx, dword [ebp - 0x30]
add esp, 0x24
lea ecx, [ecx - 0x10]
call fcn.004092af
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.004092af
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.004092af
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.004092af
mov byte [ebp - 4], 0x43
mov ecx, dword [ebp - 0x20]
lea ecx, [ecx - 0x10]
call fcn.004092af
lea ecx, [ebp - 0x1c]
call fcn.0040e6c6
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x44]
call fcn.0040e4b9
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [eax]
jne 0x4a8f97
mov byte [ebp - 4], 0x4f
jmp 0x4a8f51
xor eax, eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 0x51
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x58], esi
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.00408dc6
add eax, 0x10
lea ecx, [ebp - 0x64]
mov edx, edi
mov dword [esi], eax
call fcn.004a19e4
pop ecx
pop ecx
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0x64]
xor esi, esi
mov dword [ebp - 0x20], esi
call fcn.0041358d
test eax, eax
je 0x4a9342
cmp dword [ebp + 8], esi
mov ecx, 0x4f4b10
mov eax, 0x52a6f4
cmove ecx, eax
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x64]
push ecx
lea ecx, [ebp - 0x24]
lea edx, [eax + esi*4]
call fcn.004057d6
pop ecx
mov byte [ebp - 4], 0x53
push dword [0xdc4e88]
push ecx
mov esi, esp
mov dword [ebp - 0x58], esp
mov dword [ebp - 0x7c], esi
mov ecx, dword [ebx + 0x10]
sub ecx, 0x10
call fcn.00408dc6
add eax, 0x10
mov dword [esi], eax
push ecx
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x54
mov ecx, esp
push eax
call fcn.00408e19
mov edx, dword [ebp - 0x54]
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x53
call fcn.004125b9
add esp, 0xc
mov byte [ebp - 4], 0x55
mov eax, dword [ebp - 0x14]
cmp dword [eax - 0xc], 0
jne 0x4a9215
lea ecx, [eax - 0x10]
jmp 0x4a9314
push ecx
lea eax, [ebp - 0x14]
mov ecx, esp
push eax
call fcn.00408e19
xor edx, edx
lea ecx, [ebp - 0x30]
call fcn.00416895
pop ecx
push 2
push ecx
mov byte [ebp - 4], 0x56
mov esi, esp
mov dword [ebp - 0x7c], esi
mov ecx, dword [ebx + 0x10]
sub ecx, 0x10
mov dword [ebp - 0x58], esp
call fcn.00408dc6
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x57
mov ecx, esp
mov dword [ebp - 0x7c], esp
push 0x4f4b10
call fcn.004095ca
push ecx
mov byte [ebp - 4], 0x58
lea eax, [ebp - 0x24]
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x34], esi
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.00408dc6
add eax, 0x10
lea ecx, [ebp - 0x3c]
mov dword [esi], eax
call fcn.0041d989
pop ecx
mov edx, eax
mov byte [ebp - 4], 0x59
mov ecx, edi
call fcn.00409f4d
pop ecx
mov byte [ebp - 4], 0x5a
lea eax, [ebp - 0x30]
push dword [ebp - 0x28]
mov edi, dword [ebx]
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push eax
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0x5b
lea eax, [ebp - 0x14]
mov ecx, esp
mov dword [ebp - 0x68], esp
push eax
call fcn.00408e19
mov byte [ebp - 4], 0x5c
mov ecx, dword [ebp - 0x64]
push ecx
mov esi, esp
mov dword [ebp - 0x70], esi
mov eax, dword [ebp - 0x20]
mov ecx, dword [ecx + eax*4]
sub ecx, 0x10
call fcn.00408dc6
add eax, 0x10
mov dword [esi], eax
mov ecx, dword [ebp + 8]
mov edx, edi
mov byte [ebp - 4], 0x5d
call fcn.004ab4fd
mov ecx, dword [ebp - 0x3c]
add esp, 0x24
lea ecx, [ecx - 0x10]
call fcn.004092af
mov ecx, dword [ebp - 0x30]
lea ecx, [ecx - 0x10]
call fcn.004092af
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.004092af
mov byte [ebp - 4], 0x52
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.004092af
mov esi, dword [ebp - 0x20]
lea ecx, [ebp - 0x64]
inc esi
mov dword [ebp - 0x20], esi
call fcn.0041358d
mov ecx, dword [ebp - 0x1c]
cmp esi, eax
jb 0x4a91ab
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x5e
call fcn.004131f7
lea ecx, [ebp - 0x54]
call fcn.00407cc5
jmp case.default.0x4a8667
xor eax, eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x60
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x58], esi
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.00408dc6
add eax, 0x10
lea ecx, [ebp - 0x88]
mov edx, edi
mov dword [esi], eax
call fcn.004a19e4
pop ecx
pop ecx
xor edi, edi
mov byte [ebp - 4], 0x61
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x3c], edi
mov esi, edi
call fcn.0041358d
test eax, eax
je 0x4a9678
cmp dword [ebp + 8], esi
mov ecx, 0x4f4b10
mov eax, 0x52a6f4
cmove ecx, eax
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x88]
push ecx
lea ecx, [ebp - 0x20]
lea edx, [eax + esi*4]
call fcn.004057d6
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0x62
mov ecx, esp
push eax
call fcn.00408e19
mov edx, dword [ebp - 0x64]
lea ecx, [ebp - 0x50]
call fcn.004a1b1a
pop ecx
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 0x63
push eax
lea ecx, [ebp - 0x50]
call fcn.0040e4c7
lea ecx, [ebp - 0x50]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x34]
push eax
call fcn.0040e4b9
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [eax]
je 0x4a964a
mov ecx, dword [ecx + 0x10]
sub ecx, 0x10
call fcn.00408dc6
add eax, 0x10
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x64
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x14]
sub ecx, 0x10
call fcn.00408dc6
add eax, 0x10
mov dword [ebp - 0x18], eax
push 0x52a6e8
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x65
call fcn.0040c8af
test eax, eax
mov eax, dword [ebp - 0x18]
je 0x4a9611
cmp dword [eax - 0xc], 0
je 0x4a9611
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x24]
call fcn.00408e19
mov byte [ebp - 4], 0x66
mov edx, 0x538400
mov ecx, dword [ebp - 0x18]
push 1
call fcn.0041dd07
pop ecx
test eax, eax
je 0x4a949d
push 2
push edi
lea ecx, [ebp - 0x24]
call fcn.004ab085
jmp 0x4a9509
push edi
push 0x538404
lea ecx, [ebp - 0x18]
call fcn.0040e5a6
push edi
push 0x52a8c0
lea ecx, [ebp - 0x18]
mov esi, eax
call fcn.0040e5a6
cmp eax, esi
jne 0x4a9509
push edi
push 0x52a8c0
lea ecx, [ebp - 0x18]
call fcn.0040e5a6
cmp eax, 0xffffffff
je 0x4a9509
push edi
push 0x53840c
lea ecx, [ebp - 0x18]
call fcn.0040e5a6
push eax
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x18]
call fcn.0041751e
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x67
call fcn.0040585f
mov byte [ebp - 4], 0x66
mov ecx, dword [ebp - 0x70]
add ecx, 0xfffffff0
call fcn.004092af
push ecx
lea eax, [ebp - 0x24]
mov ecx, esp
push eax
call fcn.00408e19
mov edx, edi
lea ecx, [ebp - 0x30]
call fcn.00416895
pop ecx
push 2
push ecx
mov byte [ebp - 4], 0x68
lea eax, [ebp - 0x14]
mov ecx, esp
mov dword [ebp - 0x58], esp
push eax
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0x69
mov ecx, esp
mov dword [ebp - 0x74], esp
push 0x4f4b10
call fcn.004095ca
push ecx
mov byte [ebp - 4], 0x6a
lea eax, [ebp - 0x20]
mov dword [ebp - 0x78], esp
mov edi, esp
push eax
push ecx
mov esi, esp
mov dword [ebp - 0x6c], esi
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.00408dc6
add eax, 0x10
lea ecx, [ebp - 0x68]
mov dword [esi], eax
call fcn.0041d989
pop ecx
mov edx, eax
mov byte [ebp - 4], 0x6b
mov ecx, edi
call fcn.00409f4d
pop ecx
mov byte [ebp - 4], 0x6c
lea eax, [ebp - 0x30]
push dword [ebp - 0x28]
mov esi, dword [ebx]
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x6c], esp
push eax
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0x6d
lea eax, [ebp - 0x18]
mov ecx, esp
mov dword [ebp - 0x48], esp
push eax
call fcn.00408e19
push ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 0x6e
mov ecx, esp
push eax
call fcn.00408e19
mov ecx, dword [ebp + 8]
mov edx, esi
mov byte [ebp - 4], 0x6f
call fcn.004ab4fd
add esp, 0x24
mov ecx, dword [ebp - 0x68]
lea ecx, [ecx - 0x10]
call fcn.004092af
mov ecx, dword [ebp - 0x30]
lea ecx, [ecx - 0x10]
call fcn.004092af
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx - 0x10]
call fcn.004092af
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.004092af
mov byte [ebp - 4], 0x63
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.004092af
xor edi, edi
jmp 0x4a9628
lea ecx, [eax - 0x10]
call fcn.004092af
mov byte [ebp - 4], 0x63
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.004092af
lea ecx, [ebp - 0x1c]
call fcn.0040e6c6
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x50]
call fcn.0040e4b9
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [eax]
jne 0x4a941d
mov esi, dword [ebp - 0x3c]
lea ecx, [ebp - 0x50]
call fcn.0040e4d7
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x61
call fcn.00408e3c
inc esi
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x3c], esi
call fcn.0041358d
mov ecx, dword [ebp - 0x2c]
cmp esi, eax
jb 0x4a93c4
lea ecx, [ebp - 0x88]
call fcn.0041318d
lea ecx, [ebp - 0x64]
call fcn.0040564e
jmp case.default.0x4a8667
lea ecx, [ebp - 0x64]
call fcn.00411bc3
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x70
push eax
push ecx
lea eax, [ebp - 0x38]
mov ecx, esp
push eax
call fcn.00408e19
mov edx, edi
lea ecx, [ebp - 0x54]
call fcn.004a19e4
pop ecx
pop ecx
mov byte [ebp - 4], 0x71
lea ecx, [ebp - 0x54]
and dword [ebp - 0x1c], 0
call fcn.0041358d
test eax, eax
je 0x4a9973
mov ecx, dword [ebp - 0x1c]
push ecx
lea ecx, [ebp - 0x54]
call fcn.004174c4
mov edx, 0x52a704
mov ecx, eax
call fcn.0040c80f
test al, al
jne 0x4a995d
cmp dword [ebx + 0x14], 0x10
jne 0x4a9749
call fcn.0046e092
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x40], esp
push 0x4f4b10
call fcn.004095ca
push ecx
mov byte [ebp - 4], 0x72
lea ecx, [ebp - 0x54]
mov esi, esp
push dword [ebp - 0x1c]
call fcn.004174c4
push eax
mov ecx, esi
call fcn.00408e19
lea ecx, [ebp - 0x64]
call fcn.004062f7
mov edx, eax
mov byte [ebp - 4], 0x71
lea ecx, [ebp - 0x34]
call fcn.004125b9
add esp, 0xc
mov byte [ebp - 4], 0x73
or dword [ebp - 0x18], 4
jmp 0x4a976a
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x54]
call fcn.004174c4
push eax
lea ecx, [ebp - 0x2c]
call fcn.00408e19
or esi, 8
mov dword [ebp - 4], 0x74
mov dword [ebp - 0x18], esi
push eax
lea ecx, [ebp - 0x14]
call fcn.00408e19
mov dword [ebp - 4], 0x75
mov eax, dword [ebp - 0x18]
test al, 8
je 0x4a9792
and eax, 0xfffffff7
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], eax
call fcn.00408e3c
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x77
test al, 4
je 0x4a97a8
and eax, 0xfffffffb
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x18], eax
call fcn.00408e3c
call fcn.0046e092
push eax
push ecx
lea eax, [ebx + 0x10]
mov dword [ebp - 0x40], esp
mov ecx, esp
push eax
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0x78
lea ecx, [ebp - 0x54]
mov esi, esp
push dword [ebp - 0x1c]
call fcn.004174c4
push eax
mov ecx, esi
call fcn.00408e19
lea ecx, [ebp - 0x64]
call fcn.004062f7
mov edx, eax
mov byte [ebp - 4], 0x77
lea ecx, [ebp - 0x28]
call fcn.004125b9
add esp, 0xc
mov byte [ebp - 4], 0x79
cmp dword [ebx + 0x14], 0x10
jne 0x4a9870
call fcn.0046e092
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x40], esp
push 0x538410
call fcn.004095ca
push ecx
mov byte [ebp - 4], 0x7a
lea ecx, [ebp - 0x54]
mov esi, esp
push dword [ebp - 0x1c]
call fcn.004174c4
push eax
mov ecx, esi
call fcn.00408e19
lea ecx, [ebp - 0x64]
call fcn.004062f7
mov edx, eax
mov byte [ebp - 4], 0x79
lea ecx, [ebp - 0x20]
call fcn.004125b9
add esp, 0xc
mov edx, 0x4f4b10
mov byte [ebp - 4], 0x7b
lea ecx, [ebp - 0x20]
call fcn.0040d864
test al, al
je 0x4a9864
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x28]
call fcn.0040585f
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x79
call fcn.00408e3c
lea ecx, [ebp - 0x28]
call fcn.0040c84b
test al, al
jne 0x4a9946
push 0x538420
lea ecx, [ebp - 0x28]
call fcn.0040583b
test eax, eax
je 0x4a9946
push ecx
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.00408e19
xor edx, edx
lea ecx, [ebp - 0x3c]
call fcn.00416895
pop ecx
push 1
push ecx
mov byte [ebp - 4], 0x7c
mov ecx, esp
mov dword [ebp - 0x40], esp
push 0x4f4b10
call fcn.004095ca
push ecx
mov byte [ebp - 4], 0x7d
lea ecx, [ebp - 0x54]
mov esi, esp
mov dword [ebp - 0x48], esp
push dword [ebp - 0x1c]
call fcn.004174c4
push eax
mov ecx, esi
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0x7e
lea eax, [ebp - 0x38]
mov ecx, esp
mov dword [ebp - 0x6c], esp
push eax
call fcn.00408e19
push edi
push 1
push ecx
mov byte [ebp - 4], 0x7f
lea eax, [ebp - 0x3c]
mov esi, dword [ebx]
mov ecx, esp
mov dword [ebp - 0x78], esp
push eax
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0x80
lea eax, [ebp - 0x28]
mov ecx, esp
mov dword [ebp - 0x74], esp
push eax
call fcn.00408e19
push ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 0x81
mov ecx, esp
push eax
call fcn.00408e19
mov ecx, dword [ebp + 8]
mov edx, esi
mov byte [ebp - 4], 0x7c
call fcn.004ab4fd
add esp, 0x24
lea ecx, [ebp - 0x3c]
call fcn.00408e3c
lea ecx, [ebp - 0x28]
call fcn.00408e3c
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x71
call fcn.00408e3c
mov esi, dword [ebp - 0x18]
inc dword [ebp - 0x1c]
lea ecx, [ebp - 0x54]
call fcn.0041358d
mov ecx, dword [ebp - 0x1c]
cmp ecx, eax
jb 0x4a96d3
lea ecx, [ebp - 0x54]
jmp 0x4a967e
lea ecx, [ebp - 0x88]
call fcn.00411bc3
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x82
push eax
push ecx
lea eax, [ebp - 0x38]
mov ecx, esp
push eax
call fcn.00408e19
mov edx, edi
lea ecx, [ebp - 0x54]
call fcn.004a19e4
pop ecx
pop ecx
mov byte [ebp - 4], 0x83
lea ecx, [ebp - 0x54]
xor esi, esi
mov dword [ebp - 0x28], esi
call fcn.0041358d
test eax, eax
je 0x4a9de5
push esi
lea ecx, [ebp - 0x54]
call fcn.004174c4
mov edx, 0x52a704
mov ecx, eax
call fcn.0040c80f
test al, al
jne 0x4a9dd1
lea ecx, [ebp - 0x24]
call fcn.00408db2
lea ecx, [ebp - 0x18]
call fcn.00408db2
lea ecx, [ebp - 0x14]
call fcn.00408db2
push esi
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x86
call fcn.004174c4
push eax
lea ecx, [ebp - 0x1c]
call fcn.00408e19
mov byte [ebp - 4], 0x87
cmp dword [ebx + 0x14], 8
jne 0x4a9a78
call fcn.0046e092
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x40], esp
push 0x4f4d90
call fcn.004095ca
push ecx
mov byte [ebp - 4], 0x88
lea ecx, [ebp - 0x54]
mov esi, esp
push dword [ebp - 0x28]
call fcn.004174c4
push eax
mov ecx, esi
call fcn.00408e19
lea ecx, [ebp - 0x88]
call fcn.004062f7
mov edx, eax
mov byte [ebp - 4], 0x87
lea ecx, [ebp - 0x2c]
call fcn.004125b9
add esp, 0xc
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x89
call fcn.0040585f
lea ecx, [ebp - 0x2c]
jmp 0x4a9b16
push esi
lea ecx, [ebp - 0x54]
call fcn.004174c4
mov ecx, eax
call fcn.004062f7
mov ecx, eax
call fcn.00416d25
test eax, eax
je 0x4a9ab4
push esi
lea ecx, [ebp - 0x54]
call fcn.004174c4
push eax
lea ecx, [ebp - 0x24]
call fcn.0040585f
push 0x4f4b10
lea ecx, [ebp - 0x1c]
call fcn.0040959f
jmp 0x4a9b22
cmp dword [ebx + 0x14], 9
jne 0x4a9b22
call fcn.0046e092
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x40], esp
push 0x4f4b10
call fcn.004095ca
push ecx
mov byte [ebp - 4], 0x8a
lea ecx, [ebp - 0x54]
mov esi, esp
push dword [ebp - 0x28]
call fcn.004174c4
push eax
mov ecx, esi
call fcn.00408e19
lea ecx, [ebp - 0x88]
call fcn.004062f7
mov edx, eax
mov byte [ebp - 4], 0x87
lea ecx, [ebp - 0x34]
call fcn.004125b9
add esp, 0xc
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x8b
call fcn.0040585f
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x87
call fcn.00408e3c
mov esi, dword [ebp - 0x28]
lea ecx, [ebp - 0x24]
call fcn.004062f7
mov ecx, eax
call fcn.00416d25
test eax, eax
je 0x4a9dad
push ecx
lea eax, [ebp + 0xc]
mov dword [ebp - 0x40], esp
mov ecx, esp
push eax
call fcn.00408e19
push ecx
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x8c
mov ecx, esp
push eax
call fcn.00408e19
lea edx, [ebp - 0x18]
mov byte [ebp - 4], 0x87
lea ecx, [ebp - 0x14]
call fcn.004a83b4
pop ecx
pop ecx
test eax, eax
je 0x4a9dad
lea ecx, [ebp - 0x18]
call fcn.0040c84b
test al, al
jne 0x4a9dad
lea ecx, [ebp - 0x1c]
call fcn.0040c84b
test al, al
je 0x4a9b99
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x1c]
call fcn.0040585f
push ecx
lea eax, [ebp - 0x18]
mov ecx, esp
push eax
call fcn.00408e19
xor edx, edx
lea ecx, [ebp - 0x20]
call fcn.00416895
pop ecx
push 1
push ecx
mov byte [ebp - 4], 0x8d
mov ecx, esp
mov dword [ebp - 0x40], esp
push 0x4f4b10
call fcn.004095ca
push ecx
mov byte [ebp - 4], 0x8e
lea ecx, [ebp - 0x54]
mov esi, esp
mov dword [ebp - 0x48], esp
push dword [ebp - 0x28]
call fcn.004174c4
push eax
mov ecx, esi
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0x8f
lea eax, [ebp - 0x38]
mov ecx, esp
mov dword [ebp - 0x6c], esp
push eax
call fcn.00408e19
push edi
push 1
push ecx
mov byte [ebp - 4], 0x90
lea eax, [ebp - 0x20]
mov esi, dword [ebx]
mov ecx, esp
mov dword [ebp - 0x78], esp
push eax
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0x91
lea eax, [ebp - 0x18]
mov ecx, esp
mov dword [ebp - 0x74], esp
push eax
call fcn.00408e19
push ecx
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0x92
mov ecx, esp
push eax
call fcn.00408e19
mov ecx, dword [ebp + 8]
mov edx, esi
mov byte [ebp - 4], 0x8d
call fcn.004ab4fd
add esp, 0x24
cmp dword [ebx + 0x14], 0xb
jne 0x4a9d7c
call fcn.00420f20
test eax, eax
je 0x4a9d7c
xor ecx, ecx
call fcn.004154f9
push 0
push ecx
lea eax, [ebp - 0x24]
mov ecx, esp
push eax
lea esi, [ebp - 0x18]
call fcn.00408e19
mov edx, esi
lea ecx, [ebp - 0x14]
call fcn.00416b46
pop ecx
pop ecx
test eax, eax
je 0x4a9d74
mov ecx, esi
call fcn.004092a9
test eax, eax
je 0x4a9d74
lea ecx, [ebp - 0x1c]
call fcn.0040c84b
test al, al
je 0x4a9cac
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x1c]
call fcn.0040585f
push ecx
lea eax, [ebp - 0x18]
mov ecx, esp
push eax
call fcn.00408e19
xor edx, edx
lea ecx, [ebp - 0x3c]
call fcn.00416895
pop ecx
lea edx, [ebp - 0x20]
mov byte [ebp - 4], 0x93
lea ecx, [ebp - 0x3c]
call fcn.0040d870
test al, al
je 0x4a9d68
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x40], esp
push 0x4f4b10
call fcn.004095ca
push ecx
mov byte [ebp - 4], 0x94
lea ecx, [ebp - 0x54]
mov esi, esp
mov dword [ebp - 0x48], esp
push dword [ebp - 0x28]
call fcn.004174c4
push eax
mov ecx, esi
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0x95
lea eax, [ebp - 0x38]
mov ecx, esp
mov dword [ebp - 0x6c], esp
push eax
call fcn.00408e19
push edi
push 1
push ecx
mov byte [ebp - 4], 0x96
lea eax, [ebp - 0x20]
mov esi, dword [ebx]
mov ecx, esp
mov dword [ebp - 0x78], esp
push eax
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0x97
lea eax, [ebp - 0x18]
mov ecx, esp
mov dword [ebp - 0x74], esp
push eax
call fcn.00408e19
push ecx
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 0x98
mov ecx, esp
push eax
call fcn.00408e19
mov ecx, dword [ebp + 8]
mov edx, esi
mov byte [ebp - 4], 0x93
call fcn.004ab4fd
add esp, 0x24
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x8d
call fcn.00408e3c
xor ecx, ecx
inc ecx
call fcn.004154f9
lea ecx, [ebp - 0x20]
call fcn.00408e3c
lea ecx, [ebp - 0x1c]
call fcn.00408e3c
lea ecx, [ebp - 0x14]
call fcn.00408e3c
lea ecx, [ebp - 0x18]
call fcn.00408e3c
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x83
call fcn.00408e3c
mov esi, dword [ebp - 0x28]
jmp 0x4a9dd1
lea ecx, [ebp - 0x1c]
call fcn.00408e3c
lea ecx, [ebp - 0x14]
call fcn.00408e3c
lea ecx, [ebp - 0x18]
call fcn.00408e3c
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x83
call fcn.00408e3c
inc esi
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x28], esi
call fcn.0041358d
cmp esi, eax
jb 0x4a99c2
lea ecx, [ebp - 0x54]
call fcn.0041318d
lea ecx, [ebp - 0x88]
jmp 0x4a9686
push ecx
lea eax, [ebp - 0x38]
mov ecx, esp
push eax
call fcn.00408e19
mov edx, edi
lea ecx, [ebp - 0x50]
call fcn.004a1b1a
pop ecx
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x99
push eax
lea ecx, [ebp - 0x50]
call fcn.0040e4c7
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
jmp 0x4a9fba
lea ecx, [ebp - 0x1c]
call fcn.0047f7df
push eax
lea ecx, [ebp - 0x24]
call fcn.00408e19
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x9a
call fcn.0047f7df
add eax, 4
lea ecx, [ebp - 0x28]
push eax
call fcn.00408e19
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x9b
call fcn.004062f7
mov ecx, eax
call fcn.00416d25
test eax, eax
je 0x4a9f98
lea ecx, [ebp - 0x20]
call fcn.00408db2
lea ecx, [ebp - 0x14]
call fcn.00408db2
push ecx
mov byte [ebp - 4], 0x9d
lea eax, [ebp + 0xc]
mov ecx, esp
mov dword [ebp - 0x40], esp
push eax
call fcn.00408e19
push ecx
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x9e
mov ecx, esp
lea esi, [ebp - 0x14]
push eax
call fcn.00408e19
mov edx, esi
mov byte [ebp - 4], 0x9d
lea ecx, [ebp - 0x20]
call fcn.004a83b4
pop ecx
pop ecx
test eax, eax
je 0x4a9f88
mov ecx, esi
call fcn.0040c84b
test al, al
jne 0x4a9f88
push ecx
mov eax, esi
mov ecx, esp
push eax
call fcn.00408e19
xor edx, edx
lea ecx, [ebp - 0x3c]
call fcn.00416895
pop ecx
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x9f
call fcn.0040c84b
test al, al
je 0x4a9efc
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x28]
call fcn.0040585f
push 2
push ecx
lea eax, [ebp - 0x24]
mov dword [ebp - 0x40], esp
mov ecx, esp
push eax
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0xa0
mov ecx, esp
mov dword [ebp - 0x48], esp
push 0x4f4b10
call fcn.004095ca
push ecx
mov byte [ebp - 4], 0xa1
lea eax, [ebp - 0x38]
mov ecx, esp
mov dword [ebp - 0x6c], esp
push eax
call fcn.00408e19
push edi
push 1
push ecx
mov byte [ebp - 4], 0xa2
lea eax, [ebp - 0x3c]
mov esi, dword [ebx]
mov ecx, esp
mov dword [ebp - 0x78], esp
push eax
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0xa3
lea eax, [ebp - 0x14]
mov ecx, esp
mov dword [ebp - 0x74], esp
push eax
call fcn.00408e19
push ecx
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xa4
mov ecx, esp
push eax
call fcn.00408e19
mov ecx, dword [ebp + 8]
mov edx, esi
mov byte [ebp - 4], 0x9f
call fcn.004ab4fd
add esp, 0x24
lea ecx, [ebp - 0x3c]
call fcn.00408e3c
lea ecx, [ebp - 0x14]
call fcn.00408e3c
lea ecx, [ebp - 0x20]
call fcn.00408e3c
lea ecx, [ebp - 0x28]
call fcn.00408e3c
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x99
call fcn.00408e3c
push 0
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x1c]
call fcn.0040e705
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x50]
call fcn.0040e4b9
push eax
lea ecx, [ebp - 0x1c]
call fcn.0040e4a8
test al, al
jne 0x4a9e29
lea ecx, [ebp - 0x50]
call fcn.0040e4a3
jmp case.default.0x4a8667
push ecx
mov ecx, esp
mov dword [ebp - 0x40], esp
push 0x53842c
call fcn.004095ca
push ecx
lea eax, [ebp + 0xc]
mov byte [ebp - 4], 0xa5
mov ecx, esp
push eax
call fcn.00408e19
mov edx, edi
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x18]
call fcn.004a18a6
add esp, 4
mov byte [ebp - 4], 0xa6
mov ecx, esp
mov dword [ebp - 0x40], esp
push 0x53843c
call fcn.004095ca
push ecx
lea eax, [ebp + 0xc]
mov byte [ebp - 4], 0xa7
mov ecx, esp
push eax
call fcn.00408e19
mov edx, edi
mov byte [ebp - 4], 0xa6
lea ecx, [ebp - 0x1c]
call fcn.004a18a6
pop ecx
pop ecx
mov byte [ebp - 4], 0xa8
call fcn.004206f8
test eax, eax
je 0x4aa0e4
push 0
lea ecx, [ebp - 0x18]
call fcn.004062f7
mov esi, 0x52a150
mov ecx, eax
mov edx, esi
call fcn.0041dd07
pop ecx
test eax, eax
je 0x4aa0a1
lea eax, [ebp - 0x18]
mov edx, 0x53844c
push eax
lea ecx, [ebp - 0x2c]
call fcn.004117b8
pop ecx
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xa9
call fcn.0040585f
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xa8
call fcn.00408e3c
push 0
lea ecx, [ebp - 0x1c]
call fcn.004062f7
mov edx, esi
mov ecx, eax
call fcn.0041dd07
pop ecx
test eax, eax
je 0x4aa0e4
lea eax, [ebp - 0x1c]
mov edx, 0x53844c
push eax
lea ecx, [ebp - 0x2c]
call fcn.004117b8
pop ecx
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xaa
call fcn.0040585f
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xa8
call fcn.00408e3c
push ecx
mov esi, esp
lea eax, [ebp - 0x18]
push ecx
mov ecx, esp
push eax
call fcn.00408e19
mov ecx, esi
call fcn.00415f36
pop ecx
lea ecx, [ebp - 0x30]
call fcn.0041d989
mov esi, esp
mov byte [ebp - 4], 0xab
push ecx
lea eax, [ebp - 0x1c]
mov ecx, esp
push eax
call fcn.00408e19
mov ecx, esi
call fcn.00415f36
pop ecx
lea ecx, [ebp - 0x20]
call fcn.0041d989
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0xac
mov ecx, esp
push eax
call fcn.00408e19
mov edx, edi
lea ecx, [ebp - 0x50]
call fcn.004a1b1a
pop ecx
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0xad
push eax
lea ecx, [ebp - 0x50]
call fcn.0040e4c7
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
jmp 0x4aa2f2
lea ecx, [ebp - 0x24]
call fcn.0047f7df
push eax
lea ecx, [ebp - 0x28]
call fcn.00408e19
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xae
call fcn.0047f7df
add eax, 4
lea ecx, [ebp - 0x14]
push eax
call fcn.00408e19
push 0x53842c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xaf
call fcn.0040583b
test eax, eax
je 0x4aa2d0
push 0x53843c
lea ecx, [ebp - 0x28]
call fcn.0040583b
test eax, eax
je 0x4aa2d0
push 2
push ecx
lea eax, [ebp - 0x28]
mov dword [ebp - 0x40], esp
mov ecx, esp
push eax
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0xb0
mov ecx, esp
mov dword [ebp - 0x48], esp
push 0x4f4b10
call fcn.004095ca
push ecx
mov byte [ebp - 4], 0xb1
lea eax, [ebp - 0x38]
mov ecx, esp
mov dword [ebp - 0x6c], esp
push eax
call fcn.00408e19
push edi
push 1
push ecx
mov byte [ebp - 4], 0xb2
lea eax, [ebp - 0x14]
mov esi, dword [ebx]
lea edx, [ebp - 0x30]
mov ecx, esp
mov dword [ebp - 0x78], esp
push eax
call fcn.00409f4d
mov byte [ebp - 4], 0xb3
lea eax, [ebp - 0x14]
mov ecx, esp
mov dword [ebp - 0x74], esp
push eax
lea edx, [ebp - 0x30]
call fcn.00409f4d
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xb4
mov ecx, esp
push eax
call fcn.00408e19
mov ecx, dword [ebp + 8]
mov edx, esi
mov byte [ebp - 4], 0xaf
call fcn.004ab4fd
add esp, 0x24
lea ecx, [ebp - 0x20]
call fcn.004092a9
test eax, eax
je 0x4aa2d0
push 2
push ecx
lea eax, [ebp - 0x28]
mov dword [ebp - 0x40], esp
mov ecx, esp
push eax
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0xb5
mov ecx, esp
mov dword [ebp - 0x48], esp
push 0x4f4b10
call fcn.004095ca
push ecx
mov byte [ebp - 4], 0xb6
lea eax, [ebp - 0x38]
mov ecx, esp
mov dword [ebp - 0x6c], esp
push eax
call fcn.00408e19
push edi
push 1
push ecx
mov byte [ebp - 4], 0xb7
lea eax, [ebp - 0x14]
mov esi, dword [ebx]
lea edx, [ebp - 0x20]
mov ecx, esp
mov dword [ebp - 0x78], esp
push eax
call fcn.00409f4d
mov byte [ebp - 4], 0xb8
lea eax, [ebp - 0x14]
mov ecx, esp
mov dword [ebp - 0x74], esp
push eax
lea edx, [ebp - 0x20]
call fcn.00409f4d
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xb9
mov ecx, esp
push eax
call fcn.00408e19
mov ecx, dword [ebp + 8]
mov edx, esi
mov byte [ebp - 4], 0xaf
call fcn.004ab4fd
add esp, 0x24
lea ecx, [ebp - 0x14]
call fcn.00408e3c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xad
call fcn.00408e3c
push 0
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x24]
call fcn.0040e705
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x50]
call fcn.0040e4b9
push eax
lea ecx, [ebp - 0x24]
call fcn.0040e4a8
test al, al
jne 0x4aa159
lea ecx, [ebp - 0x50]
call fcn.0040e4a3
lea ecx, [ebp - 0x20]
call fcn.00408e3c
lea ecx, [ebp - 0x30]
call fcn.00408e3c
lea ecx, [ebp - 0x1c]
call fcn.00408e3c
lea ecx, [ebp - 0x18]
jmp 0x4aa881
lea ecx, [ebp - 0x98]
call fcn.00411bc3
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0xba
push eax
push ecx
lea eax, [ebp - 0x38]
mov ecx, esp
push eax
call fcn.00408e19
mov edx, edi
lea ecx, [ebp - 0x64]
call fcn.004a19e4
pop ecx
pop ecx
mov byte [ebp - 4], 0xbb
lea ecx, [ebp - 0x64]
xor esi, esi
mov dword [ebp - 0x30], esi
call fcn.0041358d
test eax, eax
je 0x4aa6a4
push esi
lea ecx, [ebp - 0x64]
call fcn.004174c4
mov edx, 0x52a704
mov ecx, eax
call fcn.0040c80f
test al, al
jne 0x4aa690
lea ecx, [ebp - 0x54]
call fcn.00411bc3
mov byte [ebp - 4], 0xbc
call fcn.0046e092
mov ecx, eax
call fcn.0041199e
or eax, 0x20019
lea ecx, [ebp - 0x64]
push eax
push esi
call fcn.004174c4
mov ecx, eax
call fcn.004062f7
push eax
lea ecx, [ebp - 0x98]
call fcn.004062f7
push eax
lea ecx, [ebp - 0x54]
call fcn.00407b10
mov ecx, eax
call fcn.00411996
test eax, eax
jne 0x4aa3fa
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xbb
call fcn.0040564e
jmp 0x4aa690
lea ecx, [ebp - 0x1c]
call fcn.00408db2
lea ecx, [ebp - 0x18]
call fcn.00408db2
mov byte [ebp - 4], 0xbe
cmp dword [ebx + 0x14], 0x18
jne 0x4aa4f7
and dword [ebp - 0x20], 0
lea eax, [ebp - 0x20]
push eax
push 0
push 0x53845c
lea ecx, [ebp - 0x54]
call fcn.0041cfb0
mov ecx, eax
call fcn.00411996
test eax, eax
je 0x4aa493
cmp dword [ebp - 0x20], 0
je 0x4aa493
lea ecx, [ebp - 0x89]
call fcn.00408ff6
push eax
push dword [ebp - 0x20]
lea ecx, [ebp - 0x88]
call fcn.004aafed
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0xbf
push eax
push 0
lea ecx, [ebp - 0x88]
call fcn.004122d3
push eax
push 0x53845c
lea ecx, [ebp - 0x54]
call fcn.0041cfb0
mov ecx, eax
call fcn.00411996
lea ecx, [ebp - 0x88]
test eax, eax
jne 0x4aa4a8
call fcn.004122df
lea ecx, [ebp - 0x18]
call fcn.00408e3c
lea ecx, [ebp - 0x1c]
call fcn.00408e3c
jmp 0x4aa3e9
push 0
call fcn.004122d3
push eax
lea ecx, [ebp - 0x1c]
call fcn.0040959f
push ecx
mov ecx, esp
push 0x538470
call fcn.004095ca
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x54]
call fcn.0041240a
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xc0
call fcn.0040585f
lea ecx, [ebp - 0x2c]
call fcn.00408e3c
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xbe
call fcn.004122df
jmp 0x4aa55b
push ecx
mov ecx, esp
push 0x538480
call fcn.004095ca
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x54]
call fcn.0041240a
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xc1
call fcn.0040585f
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xbe
call fcn.00408e3c
push ecx
mov ecx, esp
push 0x53848c
call fcn.004095ca
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x54]
call fcn.0041240a
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xc2
call fcn.0040585f
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0xbe
call fcn.00408e3c
lea ecx, [ebp - 0x1c]
call fcn.0040c84b
lea ecx, [ebp - 0x18]
test al, al
jne 0x4aa496
call fcn.004092a9
cmp eax, 5
jle 0x4aa5c0
push 0
lea ecx, [ebp - 0x18]
call fcn.00417747
cmp al, 0x40
jne 0x4aa5c0
push 0x40
lea ecx, [ebp - 0x18]
call fcn.004ab029
mov eax, 0x3e8
call fcn.004c7d20
push esp
lea ecx, [ebp - 0x1c]
call fcn.004062f7
lea ecx, [ebp - 0x18]
mov esi, eax
call fcn.004062f7
mov edx, esi
mov ecx, eax
call fcn.004a8594
pop ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.0040959f
push ecx
lea eax, [ebp - 0x1c]
mov ecx, esp
push eax
call fcn.00408e19
xor edx, edx
lea ecx, [ebp - 0x3c]
call fcn.00416895
pop ecx
push 8
push ecx
mov byte [ebp - 4], 0xc3
mov ecx, esp
mov dword [ebp - 0x40], esp
push 0x4f4b10
call fcn.004095ca
push ecx
mov byte [ebp - 4], 0xc4
lea ecx, [ebp - 0x64]
mov esi, esp
mov dword [ebp - 0x48], esp
push dword [ebp - 0x30]
call fcn.004174c4
push eax
mov ecx, esi
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0xc5
lea eax, [ebp - 0x38]
mov ecx, esp
mov dword [ebp - 0x6c], esp
push eax
call fcn.00408e19
push edi
push 1
push ecx
mov byte [ebp - 4], 0xc6
lea eax, [ebp - 0x3c]
mov esi, dword [ebx]
mov ecx, esp
mov dword [ebp - 0x78], esp
push eax
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0xc7
lea eax, [ebp - 0x1c]
mov ecx, esp
mov dword [ebp - 0x74], esp
push eax
call fcn.00408e19
push ecx
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0xc8
mov ecx, esp
push eax
call fcn.00408e19
mov ecx, dword [ebp + 8]
mov edx, esi
mov byte [ebp - 4], 0xc3
call fcn.004ab4fd
add esp, 0x24
lea ecx, [ebp - 0x3c]
call fcn.00408e3c
lea ecx, [ebp - 0x18]
call fcn.00408e3c
lea ecx, [ebp - 0x1c]
call fcn.00408e3c
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xbb
call fcn.0040564e
mov esi, dword [ebp - 0x30]
inc esi
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x30], esi
call fcn.0041358d
cmp esi, eax
jb 0x4aa37e
lea ecx, [ebp - 0x64]
call fcn.0041318d
lea ecx, [ebp - 0x98]
jmp 0x4a9686
push ecx
lea eax, [ebx + 0x10]
mov dword [ebp - 0x40], esp
mov ecx, esp
push eax
call fcn.00408e19
push ecx
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0xc9
mov ecx, esp
push eax
call fcn.00408e19
mov edx, edi
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x30]
call fcn.004a18a6
add esp, 4
mov byte [ebp - 4], 0xca
mov ecx, esp
mov dword [ebp - 0x40], esp
push 0x52a9c8
call fcn.004095ca
push ecx
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0xcb
mov ecx, esp
push eax
call fcn.00408e19
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0xca
call fcn.00416e21
pop ecx
pop ecx
mov byte [ebp - 4], 0xcc
lea ecx, [ebp - 0x64]
xor esi, esi
mov dword [ebp - 0x14], esi
call fcn.0041358d
test eax, eax
je 0x4aa876
push ecx
mov ecx, esp
mov dword [ebp - 0x40], esp
push 0x53849c
call fcn.004095ca
push esi
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0xcd
call fcn.004174c4
push ecx
mov ecx, esp
push dword [eax]
push 0x5384ac
push ecx
call fcn.0041e0d9
add esp, 0xc
mov byte [ebp - 4], 0xcc
mov edx, 0x80000002
lea ecx, [ebp - 0x20]
call fcn.004a18a6
pop ecx
pop ecx
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xce
call fcn.0040c84b
test al, al
je 0x4aa795
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xcc
call fcn.00408e3c
jmp 0x4aa862
push ecx
lea eax, [ebp - 0x20]
mov ecx, esp
push eax
call fcn.00408e19
xor edx, edx
lea ecx, [ebp - 0x3c]
call fcn.00416895
pop ecx
push 3
push ecx
mov byte [ebp - 4], 0xcf
lea eax, [ebx + 0x10]
mov ecx, esp
mov dword [ebp - 0x40], esp
push eax
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0xd0
mov ecx, esp
mov dword [ebp - 0x48], esp
push 0x4f4b10
call fcn.004095ca
push ecx
mov byte [ebp - 4], 0xd1
lea eax, [ebp - 0x38]
mov ecx, esp
mov dword [ebp - 0x6c], esp
push eax
call fcn.00408e19
push edi
push 1
push ecx
mov byte [ebp - 4], 0xd2
lea eax, [ebp - 0x3c]
mov edi, dword [ebx]
mov ecx, esp
mov dword [ebp - 0x78], esp
push eax
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0xd3
lea ecx, [ebp - 0x64]
mov esi, esp
mov dword [ebp - 0x74], esp
push dword [ebp - 0x14]
call fcn.004174c4
push eax
mov ecx, esi
call fcn.00408e19
push ecx
mov byte [ebp - 4], 0xd4
lea ecx, [ebp - 0x64]
mov esi, esp
push dword [ebp - 0x14]
call fcn.004174c4
push eax
mov ecx, esi
call fcn.00408e19
mov ecx, dword [ebp + 8]
mov edx, edi
mov byte [ebp - 4], 0xcf
call fcn.004ab4fd
add esp, 0x24
lea ecx, [ebp - 0x3c]
call fcn.00408e3c
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xcc
call fcn.00408e3c
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x14]
inc esi
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x14], esi
call fcn.0041358d
cmp esi, eax
jb 0x4aa731
lea ecx, [ebp - 0x64]
call fcn.0041318d
lea ecx, [ebp - 0x30]
call fcn.00408e3c
lea ecx, [ebp - 0x38]
call fcn.00408e3c
lea ecx, [ebp + 0xc]
call fcn.00408e3c
lea esp, [ebp - 0xa8]
call fcn.004dc978
ret