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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x90]
cmp eax, dword [ecx + 8]
jbe 0x4add98
sub esp, 0x110
mov eax, dword [esp + 0x128]
test eax, eax
jle 0x4add1c
mov ecx, dword [esp + 0x120]
test ecx, ecx
jne 0x4adc50
mov edx, dword [esp + 0x114]
mov dword [edx + 0xc], 0
mov ebx, dword [0x71de50]
lea ebp, [edx + 0x10]
test ebx, ebx
jne 0x4adc26
mov dword [edx + 0x10], 0
mov dword [edx + 0x1c], ecx
mov ebx, dword [0x71de50]
lea ebp, [edx + 0x14]
lea esi, [edx + 0x18]
test ebx, ebx
jne 0x4adbca
mov ebx, dword [esp + 0x118]
mov dword [edx + 0x14], ebx
mov ebp, dword [esp + 0x11c]
mov dword [edx + 0x18], ebp
mov esi, ecx
and ecx, 0x1f
cmp ecx, 0x10
jbe 0x4ad7f9
cmp ecx, 0x15
ja 0x4acf02
cmp ecx, 0x13
ja 0x4ac432
cmp ecx, 0x11
jne 0x4ac3ed
mov dword [esp + 0x88], ecx
mov edi, dword [esp + 0x124]
cmp edi, 0x71
jg 0x4ac3d6
cmp edi, 0x58
jne 0x4ac3c8
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00470bd0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x90], ecx
mov edx, dword [eax + 0x28]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
cmp eax, 8
jne 0x4abc5f
mov eax, dword [esp + 0x88]
cmp eax, 0x17
je 0x4abc29
mov eax, dword [esp + 0x120]
test eax, 0x100
jne 0x4abba9
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0046fc10
mov eax, dword [esp + 0xc]
lea ecx, [0x5b5f40]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.004387d0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x68], edx
xor ebx, ebx
jmp 0x4abad3
mov ebp, dword [esp + 0xa8]
mov byte [ebp + ecx], al
lea ebx, [ecx + 1]
mov eax, ebp
mov ecx, dword [esp + 0x6c]
cmp ebx, edx
jge 0x4abb35
mov dword [esp + 0x54], ebx
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.0046f540
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00470d50
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x68]
cmp ecx, edx
jb 0x4ababf
jmp 0x4add3d
mov dword [esp + 0xa8], eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ecx
mov ebx, dword [esp + 0x8c]
mov ebx, dword [ebx + 0x80]
mov ebp, dword [esp + 0x90]
mov dword [esp], ebp
call ebx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x114]
mov dword [esp], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x124]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
call fcn.004a9bc0
add esp, 0x110
ret
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0046fc10
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x120]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
call fcn.00470840
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0046e9d0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
jmp 0x4abb35
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 8], eax
call fcn.0046e9d0
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
jmp 0x4abb35
mov eax, dword [esp + 0x114]
movzx ecx, byte [eax + 0x2c]
test cl, cl
jne 0x4abf09
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x4abe8e
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x5b
xor ecx, ecx
jmp 0x4abd03
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x120]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.0046f540
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x114]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x128]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004ab920
mov eax, dword [esp + 0x58]
lea ecx, [eax + 1]
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x120]
mov dword [esp + 8], ebx
call fcn.0046fc10
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x58]
cmp ecx, eax
jge 0x4abdec
test ecx, ecx
jle 0x4abc93
mov eax, dword [esp + 0x114]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 4]
mov ebp, dword [eax]
lea esi, [ebx + 1]
cmp esi, edx
jg 0x4abd6a
lea edx, [ebx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ebx], 0x20
jmp 0x4abc93
lea eax, [0x5b5f40]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.004388a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x71de50]
test edx, edx
jne 0x4abdbb
mov dword [ebx], eax
mov ebx, ecx
mov ebp, eax
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x58]
jmp 0x4abd5a
mov dword [esp + 0xd8], eax
mov dword [esp + 0x84], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x114]
jmp 0x4abdaa
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x4abe13
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x5d
add esp, 0x110
ret
lea eax, [0x5b5f40]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.004388a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x71de50]
test edx, edx
jne 0x4abe5d
mov dword [ebx], eax
mov edx, ecx
mov ebp, eax
mov eax, ebx
mov ebx, ebp
jmp 0x4abe02
mov dword [esp + 0xd4], eax
mov dword [esp + 0x80], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x114]
jmp 0x4abe53
lea eax, [0x5b5f40]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.004388a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x71de50]
test edx, edx
jne 0x4abede
mov dword [ebx], eax
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x114]
jmp 0x4abc85
mov dword [esp + 0xd0], eax
mov dword [esp + 0x7c], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x114]
jmp 0x4abece
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
call fcn.00470bd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x114]
mov ebx, dword [edx + 4]
lea ebp, [eax + ebx]
mov dword [esp + 0x84], ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x4ac36b
cmp ebp, edi
ja 0x4add36
mov dword [esp + 0x80], edi
mov dword [esp + 0xcc], esi
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044c530
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x114]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x80]
mov dword [ecx + 8], eax
mov eax, dword [0x71de50]
test eax, eax
jne 0x4ac34c
mov eax, dword [esp + 0xcc]
mov dword [ecx], eax
mov eax, dword [esp + 0x88]
cmp eax, 0x17
je 0x4ac268
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 4]
mov ebx, dword [ecx]
lea ebp, [edx + 1]
cmp ebp, eax
jg 0x4ac1ed
lea eax, [edx + 1]
mov dword [ecx + 4], eax
mov byte [ebx + edx], 0x7b
xor eax, eax
jmp 0x4ac064
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x120]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.0046f540
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x114]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x128]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004ab920
mov eax, dword [esp + 0x64]
inc eax
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x120]
mov dword [esp + 8], ebx
call fcn.0046fc10
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x64]
cmp ecx, eax
jge 0x4ac153
test ecx, ecx
jle 0x4abff6
mov eax, dword [esp + 0x114]
mov edx, dword [eax + 4]
lea ebx, [edx + 2]
mov ebp, dword [eax + 8]
mov esi, dword [eax]
cmp ebx, ebp
ja 0x4ac101
cmp ebx, ebp
ja 0x4add28
movzx edi, word [0x5ee358]
mov word [esi + edx], di
mov dword [eax + 4], ebx
mov dword [eax + 8], ebp
mov edx, dword [0x71de50]
test edx, edx
jne 0x4ac0e5
mov dword [eax], esi
jmp 0x4abff6
mov dword [esp], eax
mov dword [esp + 4], esi
call fcn.0040e560
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x64]
jmp 0x4abff6
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], ebx
lea eax, [0x5b5f40]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004388a0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x80]
jmp 0x4ac0bb
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x4ac178
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x7d
jmp 0x4abe0c
lea eax, [0x5b5f40]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.004388a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x71de50]
test edx, edx
jne 0x4ac1c2
mov dword [ebx], eax
mov edx, ecx
mov ebp, eax
mov eax, ebx
mov ebx, ebp
jmp 0x4ac169
mov dword [esp + 0xd4], eax
mov dword [esp + 0x7c], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x114]
jmp 0x4ac1b8
lea ecx, [0x5b5f40]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebp
call fcn.004388a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x71de50]
test edx, edx
jne 0x4ac23d
mov dword [ebx], eax
mov edx, ecx
mov ebx, eax
mov ecx, dword [esp + 0x114]
jmp 0x4abfe8
mov dword [esp + 0xd0], eax
mov dword [esp + 0x78], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x114]
jmp 0x4ac22d
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
call fcn.0046fad0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4ac2a2
mov ecx, dword [esp + 0x114]
jmp 0x4abfd5
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 4]
lea edx, [ecx + 5]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x4ac2fe
cmp edx, ebx
ja 0x4add2f
mov esi, dword [0x5ee836]
movzx edi, byte [0x5ee83a]
mov dword [ebp + ecx], esi
xchg edi, eax
mov byte [ebp + ecx + 4], al
xchg edi, eax
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov ecx, dword [0x71de50]
test ecx, ecx
jne 0x4ac2f0
mov dword [eax], ebp
add esp, 0x110
ret
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040e560
jmp 0x4ac2e9
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], edx
lea eax, [0x5b5f40]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.004388a0
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
jmp 0x4ac2b8
mov dword [esp], ecx
mov eax, dword [esp + 0xcc]
mov dword [esp + 4], eax
call fcn.0040e560
mov ecx, dword [esp + 0x114]
jmp 0x4abfc5
mov dword [esp + 0x80], ebx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x94], ecx
lea eax, [0x5b5f40]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.004388a0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x84]
jmp 0x4abf6a
cmp edi, 0x71
je 0x4ab9fb
jmp 0x4abc5f
cmp edi, 0x73
je 0x4ab9fb
cmp edi, 0x78
je 0x4ab9fb
jmp 0x4abc5f
lea eax, [ecx - 0x12]
cmp eax, 1
ja 0x4ac419
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
call fcn.004aa410
jmp 0x4abe0c
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call fcn.004a8a00
jmp 0x4abe0c
cmp ecx, 0x14
je 0x4acc0e
movzx ecx, byte [edx + 0x2c]
test cl, cl
jne 0x4ac97e
mov ecx, dword [edx + 4]
lea edi, [ecx + 4]
mov eax, dword [edx + 8]
mov esi, dword [edx]
cmp edi, eax
ja 0x4ac928
cmp edi, eax
ja 0x4add75
mov ebp, dword [0x5ee779]
mov dword [esi + ecx], ebp
mov dword [edx + 4], edi
mov dword [edx + 8], eax
mov eax, dword [0x71de50]
test eax, eax
jne 0x4ac909
mov dword [edx], esi
mov dword [esp], ebx
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 8], ecx
call fcn.0046ff10
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x50], ecx
xor edx, edx
jmp 0x4ac554
lea edx, [ebx + 1]
mov dword [eax + 4], edx
mov byte [ecx + ebx], 0x3a
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x120]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0xc0]
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0xc4]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x88]
mov dword [esp + 0x14], ebp
call fcn.0046fd60
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x14], ecx
call fcn.004ab920
mov eax, dword [esp + 0xc8]
add eax, 0xc
mov ecx, dword [esp + 0x5c]
lea edx, [ecx + 1]
mov ecx, dword [esp + 0x50]
cmp edx, ecx
jge 0x4ac7d6
mov dword [esp + 0x5c], edx
mov dword [esp + 0xc8], eax
mov ebx, dword [eax + 8]
mov dword [esp + 0x88], ebx
mov ebp, dword [eax + 4]
mov dword [esp + 0xc4], ebp
mov esi, dword [eax]
mov dword [esp + 0xc0], esi
test edx, edx
jle 0x4ac7ca
mov edi, dword [esp + 0x114]
movzx ecx, byte [edi + 0x2c]
test cl, cl
je 0x4ac72d
mov ecx, dword [edi + 4]
lea edx, [ecx + 2]
mov eax, dword [edi]
mov ebx, dword [edi + 8]
cmp edx, ebx
ja 0x4ac6d7
cmp edx, ebx
ja 0x4add6e
movzx ebp, word [0x5ee358]
mov word [eax + ecx], bp
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x71de50]
test ecx, ecx
jne 0x4ac6b8
mov dword [edi], eax
mov dword [esp], edi
mov dword [esp + 4], esi
mov eax, dword [esp + 0xc4]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x124]
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 0x128]
lea ebp, [ebx + 1]
mov dword [esp + 0x84], ebp
mov dword [esp + 0x14], ebp
call fcn.004ab920
mov eax, dword [esp + 0x114]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 4]
lea ebp, [ebx + 1]
cmp ebp, edx
jle 0x4ac4b2
lea eax, [0x5b5f40]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.004388a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x71de50]
test edx, edx
jne 0x4ac687
mov dword [ebx], eax
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0x114]
jmp 0x4ac4b2
mov dword [esp + 0xd8], eax
mov dword [esp + 0x80], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x114]
jmp 0x4ac677
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.0040e560
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0x114]
jmp 0x4ac5db
mov dword [esp + 0x84], edx
mov dword [esp + 0x7c], ecx
lea ebp, [0x5b5f40]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.004388a0
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x84]
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0x114]
jmp 0x4ac5b2
mov ecx, dword [edi + 8]
mov edx, dword [edi + 4]
mov eax, dword [edi]
lea ebx, [edx + 1]
cmp ebx, ecx
jg 0x4ac74b
lea ecx, [edx + 1]
mov dword [edi + 4], ecx
mov byte [eax + edx], 0x20
jmp 0x4ac5db
lea ebp, [0x5b5f40]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004388a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x71de50]
test edx, edx
jne 0x4ac79f
mov dword [ebx], eax
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0xc0]
mov edi, ebx
mov edx, ecx
jmp 0x4ac73c
mov dword [esp + 0xd4], eax
mov dword [esp + 0x78], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x114]
jmp 0x4ac78b
mov edi, dword [esp + 0x114]
jmp 0x4ac5db
mov eax, dword [esp + 0x114]
movzx ecx, byte [eax + 0x2c]
test cl, cl
je 0x4ac878
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov ebx, dword [eax + 8]
lea ebp, [ecx + 1]
cmp ebp, ebx
jg 0x4ac807
lea ebx, [ecx + 1]
mov dword [eax + 4], ebx
mov byte [edx + ecx], 0x7d
jmp 0x4abe0c
lea eax, [0x5b5f40]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.004388a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x71de50]
test edx, edx
jne 0x4ac84d
mov dword [ebx], eax
mov edx, eax
mov eax, ebx
jmp 0x4ac7f8
mov dword [esp + 0xd0], eax
mov dword [esp + 0x74], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x114]
jmp 0x4ac847
mov ecx, dword [eax + 8]
mov edx, dword [eax]
mov ebx, dword [eax + 4]
lea ebp, [ebx + 1]
cmp ebp, ecx
jg 0x4ac896
lea ecx, [ebx + 1]
mov dword [eax + 4], ecx
mov byte [edx + ebx], 0x5d
jmp 0x4abe0c
lea eax, [0x5b5f40]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.004388a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x71de50]
test edx, edx
jne 0x4ac8de
mov dword [ebx], eax
mov edx, eax
mov eax, ebx
mov ebx, ecx
jmp 0x4ac887
mov dword [esp + 0xd0], eax
mov dword [esp + 0x74], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x114]
jmp 0x4ac8d6
mov dword [esp], edx
mov dword [esp + 4], esi
call fcn.0040e560
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x118]
jmp 0x4ac481
mov dword [esp + 0x84], edi
mov dword [esp + 0x7c], ecx
lea edx, [0x5b5f40]
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
call fcn.004388a0
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x11c]
mov edi, dword [esp + 0x84]
jmp 0x4ac45a
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00470bd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x114]
mov ebx, dword [edx + 4]
lea ebp, [ebx + ecx]
mov dword [esp + 0x84], ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x4acbb7
cmp ebp, edi
ja 0x4add83
mov dword [esp + 0x7c], edi
mov dword [esp + 0xbc], esi
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0044c530
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x114]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [ecx + 8], eax
mov eax, dword [0x71de50]
test eax, eax
jne 0x4acb9f
mov eax, dword [esp + 0xbc]
mov dword [ecx], eax
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
call fcn.0046fad0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4acaf5
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x4aca7d
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x7b
mov ebx, dword [esp + 0x118]
jmp 0x4ac481
lea eax, [0x5b5f40]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.004388a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x71de50]
test edx, edx
jne 0x4acaca
mov dword [ebx], eax
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x114]
jmp 0x4aca67
mov dword [esp + 0xb8], eax
mov dword [esp + 0x70], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x114]
jmp 0x4acabd
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 4]
lea edx, [ecx + 5]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x4acb51
cmp edx, ebx
ja 0x4add7c
mov esi, dword [0x5ee836]
movzx edi, byte [0x5ee83a]
mov dword [ebp + ecx], esi
xchg edi, eax
mov byte [ebp + ecx + 4], al
xchg edi, eax
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov ecx, dword [0x71de50]
test ecx, ecx
jne 0x4acb43
mov dword [eax], ebp
add esp, 0x110
ret
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040e560
jmp 0x4acb3c
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], edx
lea eax, [0x5b5f40]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.004388a0
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
jmp 0x4acb0b
mov dword [esp], ecx
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
call fcn.0040e560
jmp 0x4aca1f
mov dword [esp + 0x9c], eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x7c], ebx
lea eax, [0x5b5f40]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.004388a0
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x84]
jmp 0x4ac9ca
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046f1c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x4acecb
mov eax, dword [esp + 0x114]
movzx ecx, byte [eax + 0x2c]
test cl, cl
jne 0x4acce9
mov ecx, dword [eax + 4]
lea edx, [ecx + 5]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x4acc9b
cmp edx, ebx
ja 0x4add44
movzx esi, byte [0x5ee88f]
mov edi, dword [0x5ee88b]
mov dword [ebp + ecx], edi
xchg esi, eax
mov byte [ebp + ecx + 4], al
xchg esi, eax
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov ecx, dword [0x71de50]
test ecx, ecx
jne 0x4acc8a
mov dword [eax], ebp
jmp 0x4abe0c
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040e560
jmp 0x4abe0c
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], ecx
lea eax, [0x5b5f40]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.004388a0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
jmp 0x4acc54
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 8], eax
call fcn.00470bd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x114]
mov ebx, dword [edx + 4]
lea ebp, [eax + ebx]
mov dword [esp + 0x84], ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x4ace6e
cmp ebp, edi
ja 0x4add52
mov dword [esp + 0xcc], esi
mov dword [esp + 0x80], edi
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044c530
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x114]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x80]
mov dword [ecx + 8], eax
mov eax, dword [0x71de50]
test eax, eax
jne 0x4ace48
mov eax, dword [esp + 0xcc]
mov dword [ecx], eax
mov edx, dword [ecx + 4]
lea ebx, [edx + 5]
mov ebp, dword [ecx + 8]
cmp ebx, ebp
ja 0x4acdfa
cmp ebx, ebp
ja 0x4add4b
mov esi, dword [0x5ee836]
movzx edi, byte [0x5ee83a]
mov dword [eax + edx], esi
xchg edi, ebx
mov byte [eax + edx + 4], bl
xchg edi, ebx
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebp
mov edx, dword [0x71de50]
test edx, edx
jne 0x4acde9
mov dword [ecx], eax
jmp 0x4abe0c
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040e560
jmp 0x4abe0c
mov dword [esp + 0x84], ebx
mov dword [esp + 0x80], edx
lea ecx, [0x5b5f40]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004388a0
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x84]
jmp 0x4acdb2
mov dword [esp], ecx
mov eax, dword [esp + 0xcc]
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0x114]
jmp 0x4acda5
mov dword [esp + 0x80], ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x98], ecx
lea eax, [0x5b5f40]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.004388a0
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x84]
jmp 0x4acd4a
mov ebx, dword [esp + 0x114]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x128]
inc eax
mov dword [esp + 0x14], eax
call fcn.004ab920
jmp 0x4abe0c
cmp ecx, 0x17
ja 0x4ad0d3
cmp ecx, 0x16
jne 0x4ab9db
test eax, eax
jne 0x4ac3f5
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004702d0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4acf55
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x11c]
mov esi, dword [esp + 0x120]
jmp 0x4ac3f5
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
call fcn.0046f1c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, eax
and eax, 0x1f
cmp eax, 0x15
ja 0x4ad0bf
cmp eax, 0x11
jne 0x4ad095
mov dword [esp + 0x88], ebx
mov eax, dword [esp + 0x114]
mov ebp, dword [eax + 8]
mov esi, dword [eax + 4]
mov edi, dword [eax]
lea ebx, [esi + 1]
cmp ebx, ebp
jg 0x4acffd
lea ebx, [esi + 1]
mov dword [eax + 4], ebx
mov byte [edi + esi], 0x26
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x88]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x128]
inc eax
mov dword [esp + 0x14], eax
call fcn.004ab920
add esp, 0x110
ret
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc0], edx
lea eax, [0x5b5f40]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004388a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x71de50]
test edx, edx
jne 0x4ad064
mov dword [ebx], eax
mov edx, dword [esp + 0xc0]
mov esi, ecx
mov edi, eax
mov eax, ebx
mov ecx, dword [esp + 0xc4]
jmp 0x4acfba
mov dword [esp + 0xd8], eax
mov dword [esp + 0x84], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x114]
jmp 0x4ad04b
cmp eax, 0x15
je 0x4acf9d
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x11c]
mov esi, dword [esp + 0x120]
jmp 0x4ac3f5
cmp eax, 0x17
je 0x4acf9d
cmp eax, 0x19
je 0x4acf9d
jmp 0x4ad09e
cmp ecx, 0x18
je 0x4ad7ba
cmp ecx, 0x19
jne 0x4ad7ac
movzx ecx, byte [edx + 0x2c]
test cl, cl
jne 0x4ad679
mov ecx, dword [edx + 4]
mov edi, dword [edx]
mov eax, dword [edx + 8]
lea esi, [ecx + 1]
cmp esi, eax
jg 0x4ad5f1
lea eax, [ecx + 1]
mov dword [edx + 4], eax
mov byte [edi + ecx], 0x7b
lea eax, [esp + 8]
mov dword [esp + 0xb4], eax
xor ecx, ecx
jmp 0x4ad1a2
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0xc], ebx
call fcn.004a8870
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x114]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x128]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004ab920
mov eax, dword [esp + 0x60]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x11c]
mov dword [esp + 0x60], ecx
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x120]
mov dword [esp + 8], eax
call fcn.00470290
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x60]
cmp ecx, eax
jge 0x4ad559
test ecx, ecx
jle 0x4ad54d
mov eax, dword [esp + 0x114]
movzx edx, byte [eax + 0x2c]
test dl, dl
je 0x4ad4b2
mov edx, dword [eax + 4]
lea ebx, [edx + 2]
mov ebp, dword [eax + 8]
mov esi, dword [eax]
cmp ebx, ebp
ja 0x4ad460
cmp ebx, ebp
ja 0x4add60
movzx edi, word [0x5ee358]
mov word [esi + edx], di
mov dword [eax + 4], ebx
mov dword [eax + 8], ebp
mov edx, dword [0x71de50]
test edx, edx
jne 0x4ad444
mov dword [eax], esi
movzx edx, byte [eax + 0x2b]
test dl, dl
je 0x4ad433
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
call fcn.00470bd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x2c]
mov edx, dword [esp + 0x60]
mov dword [esp + 4], edx
mov dword [esp], ecx
call eax
lea edi, [esp + 0xdc]
mov esi, dword [esp + 0xb4]
call fcn.0044c2be
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xdc]
test eax, eax
je 0x4ad427
mov edx, dword [esp + 0x114]
mov ebx, dword [edx + 4]
lea ebp, [eax + ebx]
mov dword [esp + 0x84], ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x4ad3ca
cmp ebp, edi
ja 0x4add59
mov dword [esp + 0x80], edi
mov dword [esp + 0xcc], esi
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044c530
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x114]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x80]
mov dword [ecx + 8], eax
mov eax, dword [0x71de50]
test eax, eax
jne 0x4ad3a4
mov eax, dword [esp + 0xcc]
mov dword [ecx], eax
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
lea ebp, [ebx + 1]
cmp ebp, edx
jg 0x4ad32e
lea edx, [ebx + 1]
mov dword [ecx + 4], edx
mov byte [eax + ebx], 0x3a
jmp 0x4ad120
lea ecx, [0x5b5f40]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.004388a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x71de50]
test edx, edx
jne 0x4ad379
mov dword [ebx], eax
mov ebx, ecx
mov ecx, dword [esp + 0x114]
jmp 0x4ad31f
mov dword [esp + 0xd4], eax
mov dword [esp + 0x7c], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x114]
jmp 0x4ad36e
mov dword [esp], ecx
mov eax, dword [esp + 0xcc]
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0x114]
jmp 0x4ad312
mov dword [esp + 0x80], ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0xa0], ecx
lea eax, [0x5b5f40]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.004388a0
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x84]
jmp 0x4ad2b7
mov ecx, dword [esp + 0x114]
jmp 0x4ad120
movzx edx, byte [eax + 0x2c]
test dl, dl
jne 0x4ad230
jmp 0x4ad120
mov dword [esp], eax
mov dword [esp + 4], esi
call fcn.0040e560
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x60]
jmp 0x4ad224
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], ebx
lea eax, [0x5b5f40]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004388a0
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x80]
jmp 0x4ad1fb
mov edx, dword [eax + 8]
mov ebx, dword [eax + 4]
mov ebp, dword [eax]
lea esi, [ebx + 1]
cmp esi, edx
jg 0x4ad4d1
lea edx, [ebx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ebx], 0x20
jmp 0x4ad224
lea eax, [0x5b5f40]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.004388a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x71de50]
test edx, edx
jne 0x4ad522
mov dword [ebx], eax
mov ebx, ecx
mov ebp, eax
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x60]
jmp 0x4ad4c1
mov dword [esp + 0xd0], eax
mov dword [esp + 0x78], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x114]
jmp 0x4ad511
mov eax, dword [esp + 0x114]
jmp 0x4ad224
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 8]
mov edx, dword [eax]
mov ebx, dword [eax + 4]
lea ebp, [ebx + 1]
cmp ebp, ecx
jg 0x4ad57e
lea ecx, [ebx + 1]
mov dword [eax + 4], ecx
mov byte [edx + ebx], 0x7d
jmp 0x4abe0c
lea eax, [0x5b5f40]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.004388a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x71de50]
test edx, edx
jne 0x4ad5c6
mov dword [ebx], eax
mov edx, eax
mov eax, ebx
mov ebx, ecx
jmp 0x4ad56f
mov dword [esp + 0xb8], eax
mov dword [esp + 0x74], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x114]
jmp 0x4ad5be
lea edx, [0x5b5f40]
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], esi
call fcn.004388a0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x71de50]
test edx, edx
jne 0x4ad648
mov dword [ebx], eax
mov edx, ebx
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x11c]
mov edi, eax
jmp 0x4ad104
mov dword [esp + 0xd8], eax
mov dword [esp + 0x84], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x114]
jmp 0x4ad631
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00470bd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x114]
mov ebx, dword [edx + 4]
lea ebp, [ebx + eax]
mov dword [esp + 0x80], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp ebp, esi
ja 0x4ad755
cmp ebp, esi
ja 0x4add67
mov dword [esp + 0x70], esi
mov dword [esp + 0xb0], edi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044c530
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x114]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x70]
mov dword [ecx + 8], eax
mov eax, dword [0x71de50]
test eax, eax
jne 0x4ad739
mov eax, dword [esp + 0xb0]
mov dword [ecx], eax
mov eax, dword [esp + 0x128]
mov edx, ecx
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x11c]
mov esi, dword [esp + 0x120]
jmp 0x4ad0f1
mov dword [esp], ecx
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
call fcn.0040e560
mov ecx, dword [esp + 0x114]
jmp 0x4ad716
mov dword [esp + 0x3c], eax
mov dword [esp + 0x70], ebx
mov dword [esp + 0xa4], ecx
lea eax, [0x5b5f40]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.004388a0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x80]
jmp 0x4ad6c5
cmp ecx, 0x1a
je 0x4ac3f5
jmp 0x4ac419
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00470ae0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x114]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x124]
mov dword [esp + 0xc], eax
call fcn.004a9a50
jmp 0x4abe0c
cmp ecx, 0xc
ja 0x4ada93
cmp ecx, 1
ja 0x4ad9f7
test esi, 0x1f
jne 0x4ad9bf
test eax, eax
jne 0x4ad8f9
mov eax, dword [edx + 4]
lea ecx, [eax + 0x17]
mov dword [esp + 0x84], ecx
mov ebx, dword [edx + 8]
mov ebp, dword [edx]
cmp ecx, ebx
ja 0x4ad8b2
cmp ecx, ebx
ja 0x4add91
mov dword [esp + 0xcc], ebp
mov dword [esp + 0x80], ebx
add eax, ebp
mov dword [esp], eax
lea eax, [0x5f37c5]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
call fcn.0044c530
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x114]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x80]
mov dword [ecx + 8], eax
mov eax, dword [0x71de50]
test eax, eax
jne 0x4ad89a
mov eax, dword [esp + 0xcc]
mov dword [ecx], eax
jmp 0x4abe0c
mov dword [esp], ecx
mov eax, dword [esp + 0xcc]
mov dword [esp + 4], eax
call fcn.0040e560
jmp 0x4abe0c
mov dword [esp + 0x80], eax
lea edx, [0x5b5f40]
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.004388a0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x114]
jmp 0x4ad835
mov eax, dword [esp + 0x124]
cmp eax, 0x76
jne 0x4ad9ae
mov eax, dword [edx + 4]
lea ecx, [eax + 5]
mov ebx, dword [edx]
mov ebp, dword [edx + 8]
cmp ecx, ebp
ja 0x4ad960
cmp ecx, ebp
ja 0x4add8a
mov esi, dword [0x5ee88b]
movzx edi, byte [0x5ee88f]
mov dword [ebx + eax], esi
xchg edi, ecx
mov byte [ebx + eax + 4], cl
xchg edi, ecx
mov dword [edx + 4], ecx
mov dword [edx + 8], ebp
mov eax, dword [0x71de50]
test eax, eax
jne 0x4ad94f
mov dword [edx], ebx
jmp 0x4abe0c
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.0040e560
jmp 0x4abe0c
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], eax
lea edx, [0x5b5f40]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.004388a0
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x114]
jmp 0x4ad918
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.004a8ce0
jmp 0x4abe0c
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046e990
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x114]
mov dword [esp], ecx
mov byte [esp + 4], al
mov eax, dword [esp + 0x124]
mov dword [esp + 8], eax
call fcn.004a92f0
jmp 0x4abe0c
lea eax, [ecx - 2]
cmp eax, 4
jbe 0x4ada4f
lea eax, [ecx - 7]
cmp eax, 5
ja 0x4ac419
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00470d50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x114]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov byte [esp + 0xc], 0
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
call fcn.004a93d0
jmp 0x4abe0c
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046f720
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x114]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 1
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
call fcn.004a93d0
jmp 0x4abe0c
cmp ecx, 0xe
ja 0x4adb27
cmp ecx, 0xd
jne 0x4adae4
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046f470
movsd xmm0, qword [esp + 0xc]
mov eax, dword [esp + 0x114]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x20
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
call fcn.004a96f0
jmp 0x4abe0c
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046f470
movsd xmm0, qword [esp + 0xc]
mov eax, dword [esp + 0x114]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x40
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
call fcn.004a96f0
jmp 0x4abe0c
cmp ecx, 0xf
jne 0x4adb7b
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046f0e0
movsd xmm0, qword [esp + 0xc]
movsd xmm1, qword [esp + 0x14]
mov eax, dword [esp + 0x114]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
movsd qword [esp + 0xc], xmm1
mov dword [esp + 0x14], 0x40
mov eax, dword [esp + 0x124]
mov dword [esp + 0x18], eax
call fcn.004a9850
jmp 0x4abe0c
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046f0e0
movsd xmm0, qword [esp + 0x14]
movsd xmm1, qword [esp + 0xc]
mov eax, dword [esp + 0x114]
mov dword [esp], eax
movsd qword [esp + 4], xmm1
movsd qword [esp + 0xc], xmm0
mov dword [esp + 0x14], pe_nt_image_headers32
mov eax, dword [esp + 0x124]
mov dword [esp + 0x18], eax
call fcn.004a9850
jmp 0x4abe0c
mov dword [esp + 0xac], esi
mov dword [esp], ebp
mov eax, dword [esp + 0x118]
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x11c]
jmp 0x4ab9b2
mov dword [esp], ebp
mov dword [esp + 4], 0
call fcn.0040e560
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x114]
jmp 0x4ab987
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0046f840
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4adc8a
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x120]
jmp 0x4ab961
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
call fcn.0046f8e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x114]
mov dword [edx + 0xc], ecx
mov ecx, dword [0x71de50]
lea ebx, [edx + 0x10]
test ecx, ecx
jne 0x4add07
mov dword [edx + 0x10], eax
mov dword [esp], edx
mov eax, dword [esp + 0x124]
mov dword [esp + 4], eax
call fcn.004aaca0
movzx eax, byte [esp + 8]
test al, al
jne 0x4add00
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x120]
jmp 0x4ab961
add esp, 0x110
ret
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov edx, dword [esp + 0x114]
jmp 0x4adcd1
mov ecx, dword [esp + 0x120]
jmp 0x4ab961
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425810
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.0044a3c0
jmp fcn.004ab920