Function at 0x4a86ea
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
xor eax, eax
cmp dword [ebp + 0x20], eax
push ebx
mov ebx, dword [ebp + 8]
mov dword [esp + 0x40], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x6c], eax
mov byte [esp + 6], al
mov eax, dword [ebx]
push esi
push edi
mov dword [esp + 0x4c], 0xffffffff
setne byte [esp + 0xd]
mov dword [esp + 0x44], eax
call fcn.00457daa
mov esi, eax
mov eax, dword [ebp + 0xc]
test byte [eax + 0x2c], 0x20
movsx ecx, word [eax + 0x26]
mov dword [esp + 0x10], esi
mov dword [esp + 0x60], ecx
jne 0x4a874f
mov dword [esp + 0x24], 0
mov dword [esp + 0x34], 1
jmp 0x4a8778
mov eax, dword [eax + 8]
test eax, eax
je 0x4a876c
lea esp, [esp]
mov edx, dword [eax + 0x38]
and dl, 3
cmp dl, 2
je 0x4a876c
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x4a875a
mov dword [esp + 0x24], eax
movzx eax, word [eax + 0x32]
mov dword [esp + 0x34], eax
xor edi, edi
test ecx, ecx
jle 0x4a8953
mov dword [esp + 0x30], edi
lea esp, [esp]
mov ecx, dword [ebp + 0xc]
movsx edx, word [ecx + 0x24]
cmp edi, edx
je 0x4a8943
mov edx, dword [esp + 0x30]
mov eax, ecx
mov ecx, dword [eax + 4]
movzx ebx, byte [ecx + edx + 0x14]
lea eax, [ecx + edx]
test ebx, ebx
je 0x4a8943
mov cl, byte [ebp + 0x28]
cmp cl, 0xa
je 0x4a87bf
movzx ebx, cl
jmp 0x4a87c4
cmp ebx, 0xa
je 0x4a87cf
cmp ebx, 5
jne 0x4a87d4
cmp dword [eax + 4], 0
jne 0x4a87d4
mov ebx, 2
lea eax, [ebx - 1]
cmp eax, 3
ja 0x4a8879
jmp dword [eax*4 + 0x10082c68]
mov ebx, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x54], ebx
jg 0x4a889b
push esi
call fcn.0044aaba
add esp, 4
test eax, eax
je 0x4a889b
mov dword [esp + 0x64], 1
jmp 0x4a88c9
mov edx, dword [esi + 4]
inc dword [esi + 0x20]
lea ecx, [ebx + ebx*4]
lea eax, [edx + ecx*4]
mov ecx, dword [ebp + 0x1c]
lea edx, [edi + ecx + 1]
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x4d
mov dword [esp + 0x64], ebx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
lea ebx, [edi + eax + 1]
mov eax, dword [esp + 0x30]
mov eax, dword [edx + eax + 4]
test eax, eax
je 0x4a88f6
cmp byte [eax], 0x9f
jne 0x4a88f6
mov ecx, dword [eax + 0x1c]
mov edx, dword [ebp + 8]
mov esi, dword [edx + 8]
push ebx
push ecx
push 0x21
jmp 0x4a8918
push ebx
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.004a6c6a
add esp, 0xc
cmp eax, ebx
je 0x4a8924
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x4a8924
push ebx
push eax
push 0x22
mov esi, ecx
call fcn.00454e8a
mov esi, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [esi + 0x20]
mov ecx, dword [esp + 0x64]
cmp eax, ecx
jbe 0x4a8939
lea edx, [ecx + ecx*4]
mov ecx, dword [esi + 4]
mov dword [ecx + edx*4 + 8], eax
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
dec edx
mov dword [eax + 0x58], edx
add dword [esp + 0x30], 0x18
inc edi
cmp edi, dword [esp + 0x60]
jl 0x4a878a
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x18]
xor edx, edx
mov dword [esp + 0x30], ecx
cmp ecx, edx
je 0x4a8b75
mov eax, dword [esp + 0x44]
test dword [eax + 0x18], 0x2000
jne 0x4a8b75
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp + 8]
inc eax
mov dword [edi + 0x5c], eax
mov al, byte [ebp + 0x28]
cmp al, 0xa
je 0x4a8992
movzx eax, al
mov dword [esp + 0x14], eax
jmp 0x4a899a
mov dword [esp + 0x14], 2
mov dword [esp + 0x18], edx
cmp dword [ecx], edx
jle 0x4a8b75
mov dword [esp + 0x38], edx
mov eax, dword [esi + 0x18]
mov edi, dword [eax + 0x6c]
lea edx, [edi - 1]
lea ecx, [edi + 1]
mov dword [esp + 0x40], eax
mov dword [eax + 0x6c], ecx
test edi, edx
jne 0x4a89f6
mov ebx, dword [eax + 0x70]
mov eax, dword [eax]
lea ecx, [edi*8 + 4]
mov dword [esp + 0x70], eax
call fcn.00448e2a
mov dword [esp + 0x6c], eax
test eax, eax
jne 0x4a89ed
mov ecx, dword [esp + 0x70]
mov eax, ebx
call fcn.0043e91a
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x40]
mov dword [ecx + 0x70], eax
mov eax, ecx
mov eax, dword [eax + 0x70]
test eax, eax
je 0x4a8a04
mov dword [eax + edi*4], 0xffffffff
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + eax]
mov eax, dword [ebp + 8]
or ebx, 0xffffffff
push 8
sub ebx, edi
push ebx
push edx
push eax
mov dword [esp + 0x70], ebx
call fcn.004a17fa
add esp, 0x10
cmp dword [esp + 0x14], 4
jne 0x4a8a79
mov edi, dword [esi + 0x20]
mov ecx, dword [esi + 0x18]
cmp dword [ecx + 0x54], edi
jg 0x4a8a4e
push esi
call fcn.0044aaba
add esp, 4
test eax, eax
jne 0x4a8b3d
mov eax, dword [esi + 4]
inc dword [esi + 0x20]
lea edx, [edi + edi*4]
lea eax, [eax + edx*4]
mov edx, dword [ebp + 0x2c]
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x10
jmp 0x4a8b3d
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x38]
mov eax, dword [edx + ecx + 4]
mov dword [esp + 0x64], eax
test eax, eax
jne 0x4a8a99
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov dword [esp + 0x64], ecx
cmp dword [esp + 0x14], 5
jne 0x4a8aa8
mov dword [esp + 0x14], 2
mov edi, dword [ebp + 8]
mov ebx, edi
call fcn.00457daa
cmp dword [esp + 0x14], 2
mov ebx, eax
jne 0x4a8acb
mov eax, dword [edi + 0x198]
test eax, eax
jne 0x4a8ac7
mov eax, edi
mov byte [eax + 0x15], 1
mov edi, dword [ebx + 0x20]
mov edx, dword [ebx + 0x18]
cmp dword [edx + 0x54], edi
jg 0x4a8aea
push ebx
call fcn.0044aaba
add esp, 4
test eax, eax
je 0x4a8aea
mov edi, 1
jmp 0x4a8b15
mov ecx, dword [ebx + 4]
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x14]
lea eax, [edi + edi*4]
lea eax, [ecx + eax*4]
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 4], 0x113
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x18
mov eax, dword [esp + 0x64]
push eax
push ebx
xor ecx, ecx
mov eax, edi
call fcn.00454afa
mov eax, dword [ebx + 4]
add esp, 8
test eax, eax
je 0x4a8b39
mov ebx, dword [ebx + 0x20]
lea ecx, [ebx + ebx*4]
mov byte [eax + ecx*4 - 0x11], 3
mov ebx, dword [esp + 0x60]
mov ecx, dword [esi + 0x18]
or eax, 0xffffffff
sub eax, ebx
js 0x4a8b54
mov edx, dword [ecx + 0x70]
test edx, edx
je 0x4a8b54
mov edi, dword [esi + 0x20]
mov dword [edx + eax*4], edi
mov edx, dword [esi + 0x20]
mov eax, dword [esp + 0x18]
add dword [esp + 0x38], 0x18
dec edx
mov dword [ecx + 0x58], edx
mov ecx, dword [esp + 0x30]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [ecx]
jl 0x4a89aa
cmp byte [ebp + 0x24], 0
je 0x4a90f8
cmp dword [esp + 0x24], 0
jne 0x4a90f8
mov edi, dword [esi + 0x18]
mov eax, dword [edi + 0x6c]
lea ecx, [eax - 1]
lea edx, [eax + 1]
mov dword [esp + 0x64], eax
mov dword [edi + 0x6c], edx
test eax, ecx
jne 0x4a8bd8
mov eax, dword [edi]
mov ecx, dword [esp + 0x64]
mov ebx, dword [edi + 0x70]
lea ecx, [ecx*8 + 4]
mov dword [esp + 0x70], eax
call fcn.00448e2a
mov dword [esp + 0x6c], eax
test eax, eax
jne 0x4a8bd1
mov ecx, dword [esp + 0x70]
mov eax, ebx
call fcn.0043e91a
mov eax, dword [esp + 0x6c]
mov dword [edi + 0x70], eax
mov eax, dword [esp + 0x64]
mov edi, dword [edi + 0x70]
test edi, edi
je 0x4a8be6
mov dword [edi + eax*4], 0xffffffff
mov edx, dword [ebp + 0xc]
mov cl, byte [ebp + 0x28]
or edi, 0xffffffff
sub edi, eax
movzx eax, byte [edx + 0x2d]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x14], eax
cmp cl, 0xa
je 0x4a8c0b
movzx eax, cl
mov dword [esp + 0x14], eax
jmp 0x4a8c18
cmp eax, 0xa
jne 0x4a8c18
mov dword [esp + 0x14], 2
cmp byte [esp + 0xd], 0
je 0x4a8c74
mov ebx, dword [esi + 0x20]
mov ecx, dword [esi + 0x18]
cmp dword [ecx + 0x54], ebx
jg 0x4a8c37
push esi
call fcn.0044aaba
add esp, 4
test eax, eax
jne 0x4a8c62
mov eax, dword [esi + 4]
inc dword [esi + 0x20]
mov ecx, dword [ebp + 0x1c]
lea edx, [ebx + ebx*4]
lea eax, [eax + edx*4]
mov edx, dword [ebp + 0x20]
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], 0
mov word [eax], 0x4f
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x4a8c74
mov eax, dword [esi + 0x20]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 - 0x11], 0x88
cmp dword [esp + 0x14], 5
jne 0x4a8ce7
cmp byte [ebp + 0x28], 5
je 0x4a8ce7
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 8]
test eax, eax
je 0x4a8ce7
mov cl, byte [eax + 0x36]
cmp cl, 4
je 0x4a8ca1
cmp cl, 3
je 0x4a8ca1
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x4a8c8b
jmp 0x4a8ce7
mov ebx, dword [esi + 0x20]
mov edx, dword [esi + 0x18]
cmp dword [edx + 0x54], ebx
jg 0x4a8cc0
push esi
call fcn.0044aaba
add esp, 4
test eax, eax
je 0x4a8cc0
mov ebx, 1
jmp 0x4a8ce3
mov ecx, dword [esi + 4]
inc dword [esi + 0x20]
lea eax, [ebx + ebx*4]
lea eax, [ecx + eax*4]
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x10
mov dword [esp + 0x3c], ebx
mov eax, dword [esi + 0x20]
mov edi, dword [esi + 0x18]
mov dword [esp + 0x70], eax
cmp dword [edi + 0x54], eax
jg 0x4a8d58
mov eax, dword [edi + 0x54]
test eax, eax
je 0x4a8d01
add eax, eax
jmp 0x4a8d06
mov eax, 0x33
mov ebx, dword [esi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edi]
add ecx, ecx
add ecx, ecx
call fcn.00448e2a
mov ebx, eax
test ebx, ebx
je 0x4a8d89
mov eax, dword [edi]
cmp ebx, dword [eax + 0x10c]
jb 0x4a8d38
cmp ebx, dword [eax + 0x110]
jae 0x4a8d38
movzx ecx, word [eax + 0xf0]
jmp 0x4a8d44
push ebx
call dword [0x100b7040]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x70]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [esi + 4], ebx
inc dword [esi + 0x20]
mov ebx, dword [ebp + 0x14]
mov ecx, dword [esp + 0x5c]
lea edx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + edx*4]
mov edx, dword [ebp + 0x1c]
mov byte [eax + 3], 0
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], 0
mov word [eax], 0x44
jmp 0x4a8d8c
mov ebx, dword [ebp + 0x14]
mov eax, dword [esp + 0x14]
dec eax
cmp eax, 4
ja 0x4a8f0d
jmp dword [eax*4 + 0x10082c78]
mov dword [esp + 0x14], 2
mov ecx, dword [ebp + 0xc]
movzx eax, word [ecx + 0x24]
test ax, ax
js 0x4a8f4c
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
cwde
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8]
mov edx, dword [ebp + 8]
push eax
mov eax, dword [edx]
push ecx
push 0x100b0a24
push eax
call fcn.0044ec4a
add esp, 0x10
mov dword [esp + 0x64], 0x613
jmp 0x4a8f6a
mov ecx, dword [ecx]
mov edx, dword [ebp + 8]
mov eax, dword [edx]
push ecx
push 0x100b0a2c
push eax
call fcn.0044ec4a
add esp, 0xc
mov dword [esp + 0x64], 0xa13
mov ebx, dword [ebp + 8]
mov dword [esp + 0x60], eax
call fcn.00457daa
cmp dword [esp + 0x14], 2
mov edi, eax
jne 0x4a8f91
mov ecx, ebx
mov eax, dword [ecx + 0x198]
test eax, eax
jne 0x4a8f8d
mov eax, ecx
mov byte [eax + 0x15], 1
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x70], eax
mov dword [esp + 0x38], ecx
cmp dword [ecx + 0x54], eax
jg 0x4a9012
mov eax, dword [ecx + 0x54]
test eax, eax
je 0x4a8faf
add eax, eax
jmp 0x4a8fb4
mov eax, 0x33
mov edx, dword [esp + 0x38]
mov ebx, dword [edi + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx]
add ecx, ecx
add ecx, ecx
call fcn.00448e2a
mov ebx, eax
test ebx, ebx
je 0x4a90ab
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
cmp ebx, dword [eax + 0x10c]
jb 0x4a8ff2
cmp ebx, dword [eax + 0x110]
jae 0x4a8ff2
movzx ecx, word [eax + 0xf0]
jmp 0x4a8ffe
push ebx
call dword [0x100b7040]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov ecx, dword [esp + 0x38]
shr edx, 4
mov dword [ecx + 0x54], edx
mov dword [edi + 4], ebx
mov eax, dword [edi + 4]
inc dword [edi + 0x20]
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x64]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*4]
xor edx, edx
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x14]
mov byte [eax + 3], dl
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov word [eax], 0x18
mov eax, ecx
mov ecx, dword [esp + 0x60]
push ecx
push edi
or ecx, 0xffffffff
call fcn.00454afa
mov eax, dword [edi + 4]
add esp, 8
test eax, eax
je 0x4a9065
mov edi, dword [edi + 0x20]
lea edx, [edi + edi*4]
mov byte [eax + edx*4 - 0x11], 2
mov ecx, dword [esi + 0x18]
or eax, 0xffffffff
sub eax, dword [esp + 0x5c]
js 0x4a907e
mov edx, dword [ecx + 0x70]
test edx, edx
je 0x4a907e
mov edi, dword [esi + 0x20]
mov dword [edx + eax*4], edi
mov eax, dword [esi + 0x20]
dec eax
cmp dword [esp + 0x3c], 0
mov dword [ecx + 0x58], eax
je 0x4a90f8
mov edi, dword [esi + 0x20]
mov ecx, dword [esi + 0x18]
cmp dword [ecx + 0x54], edi
jg 0x4a90b2
push esi
call fcn.0044aaba
add esp, 4
test eax, eax
je 0x4a90b2
mov edi, 1
jmp 0x4a90d5
mov eax, 1
jmp 0x4a9042
mov eax, dword [esi + 4]
inc dword [esi + 0x20]
xor ecx, ecx
lea edx, [edi + edi*4]
lea eax, [eax + edx*4]
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x10
mov eax, dword [esi + 0x20]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], edi
cmp eax, ecx
jbe 0x4a90ee
mov edx, dword [esi + 4]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x18]
dec eax
mov dword [ecx + 0x58], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 8]
mov dword [esp + 0x38], 0
mov dword [esp + 0x20], eax
test eax, eax
je 0x4aa527
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x38]
mov eax, dword [ebp + 0x10]
cmp dword [eax + esi*4], 0
je 0x4aa510
cmp byte [esp + 0xe], 0
jne 0x4a9143
mov ecx, dword [ebp + 0x1c]
mov edi, dword [ebp + 0xc]
inc ecx
push ecx
call fcn.0045834a
add esp, 4
mov byte [esp + 0xe], 1
mov edx, dword [ebx + 0x18]
mov eax, dword [edx + 0x6c]
add esi, dword [ebp + 0x18]
lea ecx, [eax + 1]
mov dword [edx + 0x6c], ecx
lea ecx, [eax - 1]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x64], edx
mov dword [esp + 0x70], eax
test eax, ecx
jne 0x4a926d
mov esi, dword [edx]
mov ebx, dword [edx + 0x70]
xor edi, edi
cmp byte [esi + 0x40], 0
lea ecx, [eax*8 + 4]
jne 0x4a91e9
test ebx, ebx
jne 0x4a918a
call fcn.00444b5a
mov edi, eax
jmp 0x4a91e9
cmp ebx, dword [esi + 0x10c]
jb 0x4a91d1
cmp ebx, dword [esi + 0x110]
jae 0x4a91d1
movzx edx, word [esi + 0xf0]
cmp ecx, edx
jg 0x4a91a9
mov edi, ebx
jmp 0x4a91e9
call fcn.00444b5a
mov edi, eax
test edi, edi
je 0x4a91ed
movzx eax, word [esi + 0xf0]
push eax
push ebx
push edi
call fcn.004ce718
add esp, 0xc
mov eax, ebx
mov ecx, esi
call fcn.0043e91a
jmp 0x4a91e9
push ecx
push ebx
call fcn.0047a54a
mov edi, eax
add esp, 8
test edi, edi
jne 0x4a925e
mov byte [esi + 0x40], 1
test edi, edi
jne 0x4a925e
test ebx, ebx
je 0x4a925e
cmp dword [esi + 0x200], 0
je 0x4a922f
cmp ebx, dword [esi + 0x10c]
jb 0x4a921b
cmp ebx, dword [esi + 0x110]
jae 0x4a921b
movzx eax, word [esi + 0xf0]
mov esi, dword [esi + 0x200]
add dword [esi], eax
jmp 0x4a925e
push ebx
call dword [0x100b7040]
mov esi, dword [esi + 0x200]
add esp, 4
add dword [esi], eax
jmp 0x4a925e
cmp ebx, dword [esi + 0x10c]
jb 0x4a9255
cmp ebx, dword [esi + 0x110]
jae 0x4a9255
mov ecx, dword [esi + 0x108]
mov dword [ebx], ecx
dec dword [esi + 0xf4]
mov dword [esi + 0x108], ebx
jmp 0x4a925e
push ebx
call fcn.004391da
add esp, 4
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x70]
mov dword [edx + 0x70], edi
mov edx, dword [edx + 0x70]
xor esi, esi
cmp edx, esi
je 0x4a927d
mov dword [edx + eax*4], 0xffffffff
or ecx, 0xffffffff
sub ecx, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2c], ecx
cmp dword [eax + 0x24], esi
je 0x4a93dd
mov edx, dword [esp + 0x38]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + edx*4]
mov edx, dword [ebx + 0x18]
mov dword [esp + 0x6c], eax
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x70], eax
mov dword [esp + 0x1c], edx
cmp dword [edx + 0x54], eax
jg 0x4a938b
mov eax, dword [edx + 0x54]
lea ecx, [eax + eax]
cmp eax, esi
jne 0x4a92c7
mov ecx, 0x33
mov edi, dword [ebx + 4]
mov esi, dword [edx]
lea ecx, [ecx + ecx*4]
add ecx, ecx
xor ebx, ebx
add ecx, ecx
cmp byte [esi + 0x40], bl
jne 0x4a933e
test edi, edi
jne 0x4a92e7
call fcn.00444b5a
mov edi, eax
jmp 0x4a9340
cmp edi, dword [esi + 0x10c]
jb 0x4a932a
cmp edi, dword [esi + 0x110]
jae 0x4a932a
movzx edx, word [esi + 0xf0]
cmp ecx, edx
jle 0x4a9340
call fcn.00444b5a
mov ebx, eax
test ebx, ebx
je 0x4a933e
movzx eax, word [esi + 0xf0]
push eax
push edi
push ebx
call fcn.004ce718
add esp, 0xc
mov eax, edi
mov ecx, esi
call fcn.0043e91a
jmp 0x4a933e
push ecx
push edi
call fcn.0047a54a
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x4a933e
mov byte [esi + 0x40], 1
mov edi, ebx
test edi, edi
je 0x4a93b0
mov esi, dword [esp + 0x1c]
mov eax, dword [esi]
cmp edi, dword [eax + 0x10c]
jb 0x4a9363
cmp edi, dword [eax + 0x110]
jae 0x4a9363
movzx ecx, word [eax + 0xf0]
jmp 0x4a936f
push edi
call dword [0x100b7040]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x70]
shr edx, 4
mov dword [esi + 0x54], edx
mov dword [ecx + 4], edi
mov ebx, ecx
xor esi, esi
inc dword [ebx + 0x20]
mov ecx, dword [esp + 0x6c]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 4]
lea eax, [eax + edx*4]
mov byte [eax + 3], 0
mov dword [eax + 4], esi
mov dword [eax + 8], ecx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov word [eax], 0x1c
mov edx, dword [ebp + 0x1c]
mov esi, dword [ebp + 8]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
inc edx
push 8
mov dword [esi + 0x5c], edx
mov edx, dword [ecx + 0x24]
push eax
push edx
push esi
call fcn.004a689a
mov ebx, dword [esp + 0x20]
add esp, 0x10
mov dword [esi + 0x5c], 0
mov esi, dword [esp + 0x20]
mov eax, dword [ebp + 8]
movzx ecx, word [esi + 0x34]
mov edx, dword [eax + 0x38]
mov edi, dword [eax + 0x3c]
mov dword [esp + 0x28], edi
cmp ecx, edx
jg 0x4a9402
add edi, ecx
sub edx, ecx
mov dword [eax + 0x3c], edi
mov dword [eax + 0x38], edx
jmp 0x4a9411
mov edx, dword [eax + 0x48]
lea edi, [edx + 1]
add ecx, edx
mov dword [esp + 0x28], edi
mov dword [eax + 0x48], ecx
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x18], eax
cmp cx, word [esi + 0x34]
jae 0x4a9695
mov edx, dword [esp + 0x28]
mov dword [esp + 0x40], edx
mov ecx, dword [esi + 4]
movsx eax, word [ecx + eax*2]
test eax, eax
js 0x4a944e
mov ecx, dword [ebp + 0xc]
movsx ecx, word [ecx + 0x24]
cmp eax, ecx
je 0x4a944e
mov ecx, dword [ebp + 0x1c]
lea eax, [eax + ecx + 1]
mov dword [esp + 0x64], eax
jmp 0x4a9471
cmp dword [esp + 0x4c], edx
je 0x4a9677
cmp dword [esi + 0x24], 0
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x4c], 0xffffffff
jne 0x4a9471
mov dword [esp + 0x4c], edx
mov eax, dword [ebx + 0x20]
mov ecx, dword [ebx + 0x18]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x1c], ecx
cmp dword [ecx + 0x54], eax
jg 0x4a9646
mov eax, dword [ecx + 0x54]
lea esi, [eax + eax]
test eax, eax
jne 0x4a9497
mov esi, 0x33
mov eax, dword [ebx + 4]
mov edi, dword [ecx]
lea esi, [esi + esi*4]
add esi, esi
xor ebx, ebx
add esi, esi
mov dword [esp + 0x70], eax
cmp byte [edi + 0x40], bl
jne 0x4a95f9
test eax, eax
jne 0x4a9596
cmp byte [edi + 0xf2], bl
je 0x4a94d3
movzx edx, word [edi + 0xf0]
cmp esi, edx
jle 0x4a9532
inc dword [edi + 0x100]
lea edx, [esi - 1]
cmp edx, 0x7ffffefe
ja 0x4a9588
cmp dword [0x100b7010], ebx
je 0x4a9578
mov eax, dword [0x100b8848]
test eax, eax
je 0x4a9501
push eax
call dword [0x100b7064]
add esp, 4
lea ebx, [esp + 0x50]
mov eax, esi
call fcn.0043e99a
mov eax, dword [0x100b8848]
test eax, eax
je 0x4a951f
push eax
call dword [0x100b706c]
add esp, 4
mov eax, dword [esp + 0x50]
test eax, eax
jne 0x4a952b
mov byte [edi + 0x40], 1
mov esi, eax
jmp 0x4a95fb
mov eax, dword [edi + 0x108]
test eax, eax
jne 0x4a9544
inc dword [edi + 0x104]
jmp 0x4a94d3
mov ecx, dword [eax]
mov edx, 1
add dword [edi + 0xf4], edx
add dword [edi + 0xfc], edx
mov dword [edi + 0x108], ecx
mov ecx, dword [edi + 0xf4]
cmp ecx, dword [edi + 0xf8]
jle 0x4a952b
mov dword [edi + 0xf8], ecx
mov esi, eax
jmp 0x4a95fb
push esi
call dword [0x100b7034]
add esp, 4
mov dword [esp + 0x50], eax
jmp 0x4a951f
xor eax, eax
mov dword [esp + 0x50], eax
mov byte [edi + 0x40], 1
mov esi, eax
jmp 0x4a95fb
cmp eax, dword [edi + 0x10c]
jb 0x4a95e5
cmp eax, dword [edi + 0x110]
jae 0x4a95e5
movzx ecx, word [edi + 0xf0]
cmp esi, ecx
jg 0x4a95b5
mov esi, eax
jmp 0x4a95fb
mov ecx, esi
mov esi, edi
call fcn.00444b5a
mov ebx, eax
test ebx, ebx
je 0x4a95f9
movzx edx, word [edi + 0xf0]
mov esi, dword [esp + 0x70]
push edx
push esi
push ebx
call fcn.004ce718
add esp, 0xc
mov eax, esi
mov ecx, edi
call fcn.0043e91a
jmp 0x4a95f9
push esi
push eax
call fcn.0047a54a
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x4a95f9
mov byte [edi + 0x40], 1
mov esi, ebx
test esi, esi
je 0x4a966f
mov edi, dword [esp + 0x1c]
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a961e
cmp esi, dword [eax + 0x110]
jae 0x4a961e
movzx ecx, word [eax + 0xf0]
jmp 0x4a962a
push esi
call dword [0x100b7040]
add esp, 4
mov ecx, eax
mov ebx, dword [esp + 0x10]
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x6c]
shr edx, 4
mov dword [edi + 0x54], edx
mov edx, dword [esp + 0x40]
mov dword [ebx + 4], esi
mov ecx, dword [ebx + 4]
inc dword [ebx + 0x20]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x64]
mov dword [eax + 4], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x22
jmp 0x4a9677
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
movzx ecx, word [esi + 0x34]
inc eax
inc edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x40], edx
cmp eax, ecx
jl 0x4a942b
mov edx, dword [ebp + 0x10]
mov eax, dword [esp + 0x38]
mov ecx, dword [edx + eax*4]
movzx edx, word [esi + 0x34]
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x40], ecx
mov ecx, dword [ebx + 0x18]
mov dword [esp + 0x64], edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x1c], ecx
cmp dword [ecx + 0x54], eax
jg 0x4a987c
mov eax, dword [ecx + 0x54]
lea esi, [eax + eax]
test eax, eax
jne 0x4a96d1
mov esi, 0x33
mov eax, dword [ebx + 4]
mov edi, dword [ecx]
lea esi, [esi + esi*4]
add esi, esi
xor ebx, ebx
add esi, esi
mov dword [esp + 0x70], eax
cmp byte [edi + 0x40], bl
jne 0x4a9833
test eax, eax
jne 0x4a97d0
cmp byte [edi + 0xf2], bl
je 0x4a970d
movzx eax, word [edi + 0xf0]
cmp esi, eax
jle 0x4a976c
inc dword [edi + 0x100]
lea edx, [esi - 1]
cmp edx, 0x7ffffefe
ja 0x4a97c2
cmp dword [0x100b7010], ebx
je 0x4a97b2
mov eax, dword [0x100b8848]
test eax, eax
je 0x4a973b
push eax
call dword [0x100b7064]
add esp, 4
lea ebx, [esp + 0x54]
mov eax, esi
call fcn.0043e99a
mov eax, dword [0x100b8848]
test eax, eax
je 0x4a9759
push eax
call dword [0x100b706c]
add esp, 4
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x4a9765
mov byte [edi + 0x40], 1
mov esi, eax
jmp 0x4a9835
mov eax, dword [edi + 0x108]
test eax, eax
jne 0x4a977e
inc dword [edi + 0x104]
jmp 0x4a970d
mov ecx, dword [eax]
mov edx, 1
add dword [edi + 0xf4], edx
add dword [edi + 0xfc], edx
mov dword [edi + 0x108], ecx
mov ecx, dword [edi + 0xf4]
cmp ecx, dword [edi + 0xf8]
jle 0x4a9765
mov dword [edi + 0xf8], ecx
mov esi, eax
jmp 0x4a9835
push esi
call dword [0x100b7034]
add esp, 4
mov dword [esp + 0x54], eax
jmp 0x4a9759
xor eax, eax
mov dword [esp + 0x54], eax
mov byte [edi + 0x40], 1
mov esi, eax
jmp 0x4a9835
cmp eax, dword [edi + 0x10c]
jb 0x4a981f
cmp eax, dword [edi + 0x110]
jae 0x4a981f
movzx ecx, word [edi + 0xf0]
cmp esi, ecx
jg 0x4a97ef
mov esi, eax
jmp 0x4a9835
mov ecx, esi
mov esi, edi
call fcn.00444b5a
mov ebx, eax
test ebx, ebx
je 0x4a9833
movzx edx, word [edi + 0xf0]
mov esi, dword [esp + 0x70]
push edx
push esi
push ebx
call fcn.004ce718
add esp, 0xc
mov eax, esi
mov ecx, edi
call fcn.0043e91a
jmp 0x4a9833
push esi
push eax
call fcn.0047a54a
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x4a9833
mov byte [edi + 0x40], 1
mov esi, ebx
test esi, esi
je 0x4a98af
mov edi, dword [esp + 0x1c]
mov eax, dword [edi]
cmp esi, dword [eax + 0x10c]
jb 0x4a9858
cmp esi, dword [eax + 0x110]
jae 0x4a9858
movzx ecx, word [eax + 0xf0]
jmp 0x4a9864
push esi
call dword [0x100b7040]
add esp, 4
mov ecx, eax
mov ebx, dword [esp + 0x10]
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x6c]
shr edx, 4
mov dword [edi + 0x54], edx
mov dword [ebx + 4], esi
mov ecx, dword [ebx + 4]
inc dword [ebx + 0x20]
mov edx, dword [esp + 0x28]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x64]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x40]
mov byte [eax + 3], 0
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], 0
mov word [eax], 0x30
jmp 0x4a98b3
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
movzx ecx, word [eax + 0x34]
mov esi, dword [ebp + 8]
mov edi, dword [esp + 0x28]
mov eax, esi
call fcn.0043615a
cmp byte [esp + 0xd], 0
mov edi, dword [esp + 0x20]
je 0x4a9905
cmp dword [esp + 0x24], edi
jne 0x4a9905
cmp byte [ebp + 0x24], 0
jne 0x4a9905
mov ecx, dword [ebx + 0x18]
or eax, 0xffffffff
sub eax, dword [esp + 0x2c]
js 0x4a98f9
mov edx, dword [ecx + 0x70]
test edx, edx
je 0x4a98f9
mov esi, dword [ebx + 0x20]
mov dword [edx + eax*4], esi
mov edx, dword [ebx + 0x20]
dec edx
mov dword [ecx + 0x58], edx
jmp 0x4aa510
movzx eax, byte [edi + 0x36]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4a9960
mov eax, dword [esp + 0x20]
movzx ecx, word [eax + 0x34]
mov edi, dword [esp + 0x28]
mov eax, esi
mov dword [esp + 0x64], ecx
call fcn.0043615a
mov ecx, dword [esp + 0x64]
cmp ecx, dword [esi + 0x38]
jle 0x4a993b
mov edx, ecx
mov eax, edi
mov dword [esi + 0x38], edx
mov dword [esi + 0x3c], eax
mov ecx, dword [ebx + 0x18]
or eax, 0xffffffff
sub eax, dword [esp + 0x2c]
js 0x4a98f9
mov edx, dword [ecx + 0x70]
test edx, edx
je 0x4a98f9
mov esi, dword [ebx + 0x20]
mov dword [edx + eax*4], esi
mov edx, dword [ebx + 0x20]
dec edx
mov dword [ecx + 0x58], edx
jmp 0x4aa510
mov cl, byte [ebp + 0x28]
cmp cl, 0xa
je 0x4a9971
movzx eax, cl
mov dword [esp + 0x14], eax
jmp 0x4a997e
cmp eax, 0xa
jne 0x4a997e
mov dword [esp + 0x14], 2
movzx ecx, word [edi + 0x32]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x60]
push edx
push eax
push ecx
push 0x41
mov eax, ebx
call fcn.00454c7a
add esp, 0x14
cmp edi, dword [esp + 0x24]
jne 0x4a99aa
mov edx, dword [esp + 0x28]
jmp 0x4a99d4
mov eax, dword [esi + 0x38]
mov ecx, dword [esp + 0x34]
mov edx, dword [esi + 0x3c]
cmp ecx, eax
jg 0x4a99c9
lea edi, [edx + ecx]
sub eax, ecx
mov dword [esi + 0x3c], edi
mov edi, dword [esp + 0x20]
mov dword [esi + 0x38], eax
jmp 0x4a99d4
mov eax, dword [esi + 0x48]
lea edx, [eax + 1]
add eax, ecx
mov dword [esi + 0x48], eax
cmp byte [esp + 0xd], 0
mov dword [esp + 0x30], edx
jne 0x4a99ea
cmp dword [esp + 0x14], 5
jne 0x4aa295
mov eax, dword [ebp + 0xc]
test byte [eax + 0x2c], 0x20
jne 0x4a9c51
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x18]
mov dword [esp + 0x70], eax
mov dword [esp + 0x1c], edx
cmp dword [edx + 0x54], eax
jg 0x4a9adf
mov eax, dword [edx + 0x54]
lea ecx, [eax + eax]
test eax, eax
jne 0x4a9a1d
mov ecx, 0x33
mov edi, dword [ebx + 4]
mov esi, dword [edx]
lea ecx, [ecx + ecx*4]
add ecx, ecx
xor ebx, ebx
add ecx, ecx
cmp byte [esi + 0x40], bl
jne 0x4a9a94
test edi, edi
jne 0x4a9a3d
call fcn.00444b5a
mov edi, eax
jmp 0x4a9a96
cmp edi, dword [esi + 0x10c]
jb 0x4a9a80
cmp edi, dword [esi + 0x110]
jae 0x4a9a80
movzx edx, word [esi + 0xf0]
cmp ecx, edx
jle 0x4a9a96
call fcn.00444b5a
mov ebx, eax
test ebx, ebx
je 0x4a9a94
movzx eax, word [esi + 0xf0]
push eax
push edi
push ebx
call fcn.004ce718
add esp, 0xc
mov eax, edi
mov ecx, esi
call fcn.0043e91a
jmp 0x4a9a94
push ecx
push edi
call fcn.0047a54a
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x4a9a94
mov byte [esi + 0x40], 1
mov edi, ebx
test edi, edi
je 0x4a9b0a
mov esi, dword [esp + 0x1c]
mov eax, dword [esi]
cmp edi, dword [eax + 0x10c]
jb 0x4a9ab9
cmp edi, dword [eax + 0x110]
jae 0x4a9ab9
movzx ecx, word [eax + 0xf0]
jmp 0x4a9ac5
push edi
call dword [0x100b7040]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x70]
shr edx, 4
mov dword [esi + 0x54], edx
mov dword [ecx + 4], edi
mov ebx, ecx
inc dword [ebx + 0x20]
mov ecx, dword [esp + 0x5c]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x30]
mov dword [eax + 4], ecx
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x6e
cmp byte [esp + 0xd], 0
je 0x4aa295
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x18]
mov dword [esp + 0x70], eax
mov dword [esp + 0x1c], edx
cmp dword [edx + 0x54], eax
jg 0x4a9c02
mov eax, dword [edx + 0x54]
lea ecx, [eax + eax]
test eax, eax
jne 0x4a9b3f
mov ecx, 0x33
mov ebx, dword [esi + 4]
mov esi, dword [edx]
lea ecx, [ecx + ecx*4]
add ecx, ecx
add ecx, ecx
xor edi, edi
cmp byte [esi + 0x40], 0
jne 0x4a9bbb
test ebx, ebx
jne 0x4a9b60
call fcn.00444b5a
mov edi, eax
jmp 0x4a9bbb
cmp ebx, dword [esi + 0x10c]
jb 0x4a9ba7
cmp ebx, dword [esi + 0x110]
jae 0x4a9ba7
movzx eax, word [esi + 0xf0]
cmp ecx, eax
jg 0x4a9b7f
mov edi, ebx
jmp 0x4a9bbb
call fcn.00444b5a
mov edi, eax
test edi, edi
je 0x4a9bbb
movzx ecx, word [esi + 0xf0]
push ecx
push ebx
push edi
call fcn.004ce718
add esp, 0xc
mov eax, ebx
mov ecx, esi
call fcn.0043e91a
jmp 0x4a9bbb
push ecx
push ebx
call fcn.0047a54a
mov edi, eax
add esp, 8
test edi, edi
jne 0x4a9bbb
mov byte [esi + 0x40], 1
mov esi, dword [esp + 0x10]
test edi, edi
je 0x4a9c32
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx]
cmp edi, dword [eax + 0x10c]
jb 0x4a9be2
cmp edi, dword [eax + 0x110]
jae 0x4a9be2
movzx ecx, word [eax + 0xf0]
jmp 0x4a9bee
push edi
call dword [0x100b7040]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x70]
shr edx, 4
mov dword [ebx + 0x54], edx
mov dword [esi + 4], edi
inc dword [esi + 0x20]
mov ecx, dword [esp + 0x30]
lea edx, [eax + eax*4]
mov eax, dword [esi + 4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x2c]
mov dword [eax + 4], ecx
mov ecx, dword [ebp + 0x20]
mov byte [eax + 3], 0
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], 0
mov word [eax], 0x4f
mov esi, dword [esi + 4]
test esi, esi
je 0x4aa295
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x20]
lea eax, [eax + eax*4]
mov byte [esi + eax*4 - 0x11], 0x88
jmp 0x4aa295
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x4a9ef2
xor ecx, ecx
mov dword [esp + 0x18], 0
cmp cx, word [eax + 0x32]
jae 0x4a9ef2
mov ecx, dword [esp + 0x20]
movzx edx, word [ecx + 0x34]
xor eax, eax
test edx, edx
jle 0x4a9ca2
mov esi, dword [esp + 0x24]
mov esi, dword [esi + 4]
mov edi, dword [esp + 0x18]
movzx esi, word [esi + edi*2]
mov ecx, dword [ecx + 4]
cmp si, word [ecx]
je 0x4a9d78
inc eax
add ecx, 2
cmp eax, edx
jl 0x4a9c91
or eax, 0xffffffff
movsx edx, ax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x64], edx
mov edx, dword [eax + 0x18]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x1c], edx
cmp dword [edx + 0x54], ecx
jg 0x4a9e9a
mov eax, dword [edx + 0x54]
lea esi, [eax + eax]
test eax, eax
jne 0x4a9cd6
mov esi, 0x33
mov eax, dword [esp + 0x10]
mov edi, dword [edx]
mov ecx, dword [eax + 4]
lea esi, [esi + esi*4]
add esi, esi
xor ebx, ebx
add esi, esi
mov dword [esp + 0x40], ecx
cmp byte [edi + 0x40], bl
jne 0x4a9e49
mov ebx, ecx
test ebx, ebx
jne 0x4a9de4
cmp byte [edi + 0xf2], cl
je 0x4a9d18
movzx edx, word [edi + 0xf0]
cmp esi, edx
jle 0x4a9d80
inc dword [edi + 0x100]
lea edx, [esi - 1]
cmp edx, 0x7ffffefe
ja 0x4a9dd6
cmp dword [0x100b7010], 0
je 0x4a9dc6
mov eax, dword [0x100b8848]
test eax, eax
je 0x4a9d47
push eax
call dword [0x100b7064]
add esp, 4
lea ebx, [esp + 0x58]
mov eax, esi
call fcn.0043e99a
mov eax, dword [0x100b8848]
test eax, eax
je 0x4a9d65
push eax
call dword [0x100b706c]
add esp, 4
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x4a9d71
mov byte [edi + 0x40], 1
mov ebx, eax
jmp 0x4a9e49
movzx eax, ax
jmp 0x4a9ca5
mov eax, dword [edi + 0x108]
test eax, eax
jne 0x4a9d92
inc dword [edi + 0x104]
jmp 0x4a9d18
mov ecx, dword [eax]
mov edx, 1
add dword [edi + 0xf4], edx
add dword [edi + 0xfc], edx
mov dword [edi + 0x108], ecx
mov ecx, dword [edi + 0xf4]
cmp ecx, dword [edi + 0xf8]
jle 0x4a9d71
mov dword [edi + 0xf8], ecx
mov ebx, eax
jmp 0x4a9e49
push esi
call dword [0x100b7034]
add esp, 4
mov dword [esp + 0x58], eax
jmp 0x4a9d65
xor eax, eax
mov dword [esp + 0x58], eax
mov byte [edi + 0x40], 1
mov ebx, eax
jmp 0x4a9e49
cmp ebx, dword [edi + 0x10c]
jb 0x4a9e33
cmp ebx, dword [edi + 0x110]
jae 0x4a9e33
movzx eax, word [edi + 0xf0]
cmp esi, eax
jle 0x4a9e49
mov ecx, esi
mov esi, edi
call fcn.00444b5a
mov ebx, eax
test ebx, ebx
je 0x4a9ecf
movzx ecx, word [edi + 0xf0]
mov esi, dword [esp + 0x40]
push ecx
push esi
push ebx
call fcn.004ce718
add esp, 0xc
mov eax, esi
mov ecx, edi
call fcn.0043e91a
jmp 0x4a9e49
mov edx, ecx
push esi
push edx
call fcn.0047a54a
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x4a9e51
mov byte [edi + 0x40], 1
test ebx, ebx
je 0x4a9ecf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
cmp ebx, dword [eax + 0x10c]
jb 0x4a9e70
cmp ebx, dword [eax + 0x110]
jae 0x4a9e70
movzx ecx, word [eax + 0xf0]
jmp 0x4a9e7c
push ebx
call dword [0x100b7040]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov ecx, dword [esp + 0x1c]
shr edx, 4
mov dword [ecx + 0x54], edx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x70]
mov dword [edx + 4], ebx
mov eax, edx
mov edx, dword [eax + 4]
inc dword [eax + 0x20]
lea ecx, [ecx + ecx*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x64]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x30]
add ecx, dword [esp + 0x18]
mov byte [eax + 3], 0
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], 0
mov word [eax], 0x2e
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
movzx edx, word [ecx + 0x32]
inc eax
mov dword [esp + 0x18], eax
cmp eax, edx
jl 0x4a9c71
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x20]
mov eax, ecx
cmp byte [esp + 0xd], 0
je 0x4aa295
movzx eax, word [eax + 0x32]
mov ecx, dword [edi + 0x38]
mov ebx, dword [ebx + 0x20]
add ebx, eax
and cl, 3
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x5c], 0x4e
cmp cl, 2
jne 0x4a9f27
mov edx, dword [esp + 0x28]
mov dword [esp + 0x70], edx
jmp 0x4a9f2f
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x18], 0
test eax, eax
jle 0x4aa295
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x20]
mov ecx, dword [esp + 0x18]
mov edi, dword [eax + ecx*4]
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 0xc]
movzx ecx, byte [edx + 0x4d]
mov byte [esp + 0x68], cl
mov cl, byte [eax + 0x89]
mov byte [esp + 0xf], cl
test edi, edi
je 0x4a9f87
movzx edx, cl
push edx
push eax
mov ebx, edi
call fcn.00449a7a
mov cl, byte [esp + 0x17]
add esp, 8
jmp 0x4a9f8a
mov eax, dword [eax + 8]
test eax, eax
je 0x4a9f9a
movzx edx, byte [esp + 0x68]
lea edx, [edx + edx*4]
lea eax, [eax + edx*4 - 0x14]
mov dword [esp + 0x40], eax
test cl, cl
jne 0x4a9fc1
test eax, eax
je 0x4a9fac
cmp dword [eax + 0xc], 0
jne 0x4a9fc1
mov ecx, dword [esp + 0x68]
mov edx, dword [ebp + 8]
push ecx
push edx
call fcn.0046b82a
add esp, 8
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x18]
movzx ecx, word [ecx + 0x32]
movsx edx, word [edx + eax*2]
dec ecx
mov dword [esp + 0x64], edx
cmp eax, ecx
jne 0x4a9fed
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x5c], 0x4f
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x18]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x1c], edx
cmp dword [edx + 0x54], ecx
jg 0x4aa1bc
mov eax, dword [edx + 0x54]
test eax, eax
je 0x4aa00f
add eax, eax
jmp 0x4aa014
mov eax, 0x33
mov ebx, dword [esi + 4]
mov edi, dword [edx]
lea ecx, [eax + eax*4]
add ecx, ecx
add ecx, ecx
xor esi, esi
cmp byte [edi + 0x40], 0
mov dword [esp + 0x78], ecx
jne 0x4aa16f
test ebx, ebx
jne 0x4aa116
cmp byte [edi + 0xf2], bl
je 0x4aa051
movzx eax, word [edi + 0xf0]
cmp ecx, eax
jle 0x4aa0b2
inc dword [edi + 0x100]
lea edx, [ecx - 1]
cmp edx, 0x7ffffefe
ja 0x4aa108
cmp dword [0x100b7010], esi
je 0x4aa0f8
mov eax, dword [0x100b8848]
test eax, eax
je 0x4aa07f
push eax
call dword [0x100b7064]
add esp, 4
mov eax, dword [esp + 0x78]
lea ebx, [esp + 0x60]
call fcn.0043e99a
mov eax, dword [0x100b8848]
test eax, eax
je 0x4aa09f
push eax
call dword [0x100b706c]
add esp, 4
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x4aa0ab
mov byte [edi + 0x40], 1
mov ebx, eax
jmp 0x4aa171
mov eax, dword [edi + 0x108]
test eax, eax
jne 0x4aa0c4
inc dword [edi + 0x104]
jmp 0x4aa051
mov ecx, dword [eax]
mov edx, 1
add dword [edi + 0xf4], edx
add dword [edi + 0xfc], edx
mov dword [edi + 0x108], ecx
mov ecx, dword [edi + 0xf4]
cmp ecx, dword [edi + 0xf8]
jle 0x4aa0ab
mov dword [edi + 0xf8], ecx
mov ebx, eax
jmp 0x4aa171
push ecx
call dword [0x100b7034]
add esp, 4
mov dword [esp + 0x60], eax
jmp 0x4aa09f
xor eax, eax
mov dword [esp + 0x60], eax
mov byte [edi + 0x40], 1
mov ebx, eax
jmp 0x4aa171
cmp ebx, dword [edi + 0x10c]
jb 0x4aa15b
cmp ebx, dword [edi + 0x110]
jae 0x4aa15b
movzx eax, word [edi + 0xf0]
cmp ecx, eax
jle 0x4aa171
mov esi, edi
call fcn.00444b5a
mov esi, eax
test esi, esi
je 0x4aa16f
movzx ecx, word [edi + 0xf0]
push ecx
push ebx
push esi
call fcn.004ce718
add esp, 0xc
mov eax, ebx
mov ecx, edi
call fcn.0043e91a
jmp 0x4aa16f
push ecx
push ebx
call fcn.0047a54a
mov esi, eax
add esp, 8
test esi, esi
jne 0x4aa16f
mov byte [edi + 0x40], 1
mov ebx, esi
test ebx, ebx
je 0x4aa244
mov esi, dword [esp + 0x1c]
mov eax, dword [esi]
cmp ebx, dword [eax + 0x10c]
jb 0x4aa198
cmp ebx, dword [eax + 0x110]
jae 0x4aa198
movzx ecx, word [eax + 0xf0]
jmp 0x4aa1a4
push ebx
call dword [0x100b7040]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov ecx, dword [esp + 0x7c]
shr edx, 4
mov dword [esi + 0x54], edx
mov esi, dword [esp + 0x10]
mov dword [esi + 4], ebx
mov eax, dword [esi + 4]
inc dword [esi + 0x20]
mov edi, dword [esp + 0x64]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*4]
mov dl, byte [esp + 0x5c]
mov byte [eax], dl
mov edx, dword [ebp + 0x20]
lea edx, [edi + edx + 1]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x6c]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x70]
add edx, dword [esp + 0x18]
mov byte [eax + 3], 0
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], 0
mov byte [eax + 1], 0
mov ebx, dword [esi + 4]
mov edi, dword [esi]
mov eax, ecx
test ebx, ebx
je 0x4aa25c
cmp byte [edi + 0x40], 0
jne 0x4aa25c
test ecx, ecx
jns 0x4aa216
mov eax, dword [esi + 0x20]
dec eax
lea eax, [eax + eax*4]
mov ecx, dword [ebx + eax*4 + 0x10]
lea ebx, [ebx + eax*4]
movsx eax, byte [ebx + 1]
call fcn.0044e00a
cmp dword [esp + 0x40], 0
mov dword [ebx + 0x10], 0
jne 0x4aa24f
mov dword [ebx + 0x10], 0
mov byte [ebx + 1], 0
jmp 0x4aa26a
mov esi, dword [esp + 0x10]
mov ecx, 1
jmp 0x4aa1fd
mov ecx, dword [esp + 0x40]
mov dword [ebx + 0x10], ecx
mov byte [ebx + 1], 0xfc
jmp 0x4aa26a
mov ecx, dword [esp + 0x40]
mov eax, 0xfffffffc
call fcn.0044e00a
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x4aa27c
mov eax, dword [esi + 0x20]
lea edx, [eax + eax*4]
mov byte [ecx + edx*4 - 0x11], 0x88
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
movzx edx, word [ecx + 0x32]
inc eax
mov dword [esp + 0x18], eax
cmp eax, edx
jl 0x4a9f43
mov eax, dword [esp + 0x14]
test eax, eax
jle 0x4aa3ed
cmp eax, 3
jle 0x4aa3d6
cmp eax, 4
jne 0x4aa3ed
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x18]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x1c], edx
cmp dword [edx + 0x54], ecx
jg 0x4aa3ab
mov ecx, dword [edx + 0x54]
test ecx, ecx
je 0x4aa2d9
add ecx, ecx
jmp 0x4aa2de
mov ecx, 0x33
mov esi, dword [edx]
mov ebx, dword [eax + 4]
lea ecx, [ecx + ecx*4]
add ecx, ecx
add ecx, ecx
xor edi, edi
cmp byte [esi + 0x40], 0
jne 0x4aa35e
test ebx, ebx
jne 0x4aa2ff
call fcn.00444b5a
mov edi, eax
jmp 0x4aa35e
cmp ebx, dword [esi + 0x10c]
jb 0x4aa34a
cmp ebx, dword [esi + 0x110]
jae 0x4aa34a
movzx eax, word [esi + 0xf0]
cmp ecx, eax
jg 0x4aa31e
mov edi, ebx
jmp 0x4aa35e
call fcn.00444b5a
mov edi, eax
test edi, edi
je 0x4aa4a3
movzx ecx, word [esi + 0xf0]
push ecx
push ebx
push edi
call fcn.004ce718
add esp, 0xc
mov eax, ebx
mov ecx, esi
call fcn.0043e91a
jmp 0x4aa35e
push ecx
push ebx
call fcn.0047a54a
mov edi, eax
add esp, 8
test edi, edi
jne 0x4aa366
mov byte [esi + 0x40], 1
test edi, edi
je 0x4aa4a3
mov esi, dword [esp + 0x1c]
mov eax, dword [esi]
cmp edi, dword [eax + 0x10c]
jb 0x4aa385
cmp edi, dword [eax + 0x110]
jae 0x4aa385
movzx ecx, word [eax + 0xf0]
jmp 0x4aa391
push edi
call dword [0x100b7040]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov ecx, dword [esp + 0x7c]
shr edx, 4
mov dword [esi + 0x54], edx
mov edx, dword [esp + 0x10]
mov dword [edx + 4], edi
mov eax, edx
mov edx, dword [eax + 4]
inc dword [eax + 0x20]
lea ecx, [ecx + ecx*4]
lea eax, [edx + ecx*4]
mov edx, dword [ebp + 0x2c]
xor ecx, ecx
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x10
jmp 0x4aa4a3
mov ecx, dword [esp + 0x20]
mov edx, dword [ebp + 8]
push ecx
push eax
push edx
call fcn.004836ea
add esp, 0xc
jmp 0x4aa4a3
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x198]
xor ebx, ebx
test eax, eax
jne 0x4aa3fe
mov eax, ecx
mov byte [eax + 0x14], 1
mov eax, dword [esp + 0x44]
test dword [eax + 0x18], 0x40000
je 0x4aa468
mov edx, dword [ecx]
xor ebx, ebx
xor edi, edi
test dword [edx + 0x18], 0x800000
je 0x4aa42e
mov eax, dword [ebp + 0xc]
push eax
mov eax, ecx
call fcn.00434eda
add esp, 4
mov edi, eax
mov esi, edi
test edi, edi
je 0x4aa45f
lea ebx, [ebx]
cmp byte [esi + 8], 0x6d
jne 0x4aa458
mov ecx, dword [esi + 0x10]
push 0
push ecx
call fcn.0043baea
add esp, 8
test eax, eax
je 0x4aa458
movzx edx, byte [esi + 9]
or ebx, edx
mov esi, dword [esi + 0x20]
test esi, esi
jne 0x4aa43a
mov ecx, dword [ebp + 8]
neg ebx
sbb ebx, ebx
and ebx, edi
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x20], eax
sete dl
movzx eax, dl
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x34]
push 5
push 0
push edx
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0xc]
push eax
push ebx
push edx
push ecx
call fcn.004b011a
add esp, 0x28
mov dword [esp + 0x48], 1
mov ebx, dword [esp + 0x10]
mov ecx, dword [ebx + 0x18]
or eax, 0xffffffff
sub eax, dword [esp + 0x2c]
js 0x4aa4c0
mov edx, dword [ecx + 0x70]
test edx, edx
je 0x4aa4c0
mov esi, dword [ebx + 0x20]
mov dword [edx + eax*4], esi
mov eax, dword [ebx + 0x20]
mov edi, dword [esp + 0x28]
dec eax
mov dword [ecx + 0x58], eax
mov ecx, dword [esp + 0x20]
movzx esi, word [ecx + 0x34]
mov eax, dword [ebp + 8]
mov ecx, esi
call fcn.0043615a
mov edx, eax
cmp esi, dword [edx + 0x38]
jle 0x4aa4ea
mov dword [eax + 0x38], esi
mov dword [eax + 0x3c], edi
mov esi, dword [esp + 0x30]
cmp esi, edi
je 0x4aa510
mov ecx, dword [esp + 0x34]
mov edi, esi
mov eax, edx
call fcn.0043615a
mov ecx, dword [esp + 0x34]
cmp ecx, dword [eax + 0x38]
jle 0x4aa510
mov edx, ecx
mov dword [eax + 0x38], edx
mov dword [eax + 0x3c], esi
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x14]
inc dword [esp + 0x38]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4a9116
xor ebx, ebx
cmp dword [esp + 0x3c], ebx
je 0x4aa59f
mov esi, dword [esp + 0x10]
mov edi, dword [esi + 0x20]
mov ecx, dword [esi + 0x18]
cmp dword [ecx + 0x54], edi
jg 0x4aa54b
push esi
call fcn.0044aaba
add esp, 4
test eax, eax
jne 0x4aa570
mov eax, dword [esi + 4]
inc dword [esi + 0x20]
mov ecx, dword [esp + 0x3c]
lea edx, [edi + edi*4]
lea eax, [eax + edx*4]
inc ecx
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x10
mov eax, dword [esi + 0x20]
mov ecx, dword [esp + 0x74]
cmp eax, ecx
jbe 0x4aa585
lea edx, [ecx + ecx*4]
mov ecx, dword [esi + 4]
mov dword [ecx + edx*4 + 8], eax
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp + 0x30]
dec edx
mov dword [eax + 0x58], edx
mov edx, dword [esp + 0x48]
mov dword [ecx], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x30]
mov ecx, dword [esp + 0x48]
pop edi
pop esi
mov dword [eax], ecx
pop ebx
mov esp, ebp
pop ebp
ret