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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xc0]
cmp eax, dword [ecx + 8]
jbe 0x4af739
sub esp, 0x140
lea edi, [esp + 0x15c]
xor eax, eax
call fcn.0045e9bb
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x144]
xor ebx, ebx
xor ebp, ebp
xor esi, esi
mov edi, 0xffffffff
mov ecx, 0xffffffff
mov dword [esp + 0x94], ecx
mov ecx, 0xffffffff
mov dword [esp + 0x3c], ecx
xor ecx, ecx
mov byte [esp + 0x36], cl
xor edx, edx
mov byte [esp + 0x37], dl
mov edx, 0xffffffff
mov dword [esp + 0x74], edx
xor edx, edx
mov dword [esp + 0x7c], edx
xor edx, edx
mov dword [esp + 0x88], edx
xor edx, edx
mov dword [esp + 0x68], edx
xor edx, edx
mov dword [esp + 0x54], edx
xor edx, edx
mov dword [esp + 0xd4], edx
xor ebx, ebx
mov dword [esp + 0x5c], ebx
xor ebx, ebx
mov dword [esp + 0xe8], ebx
mov ebx, dword [esp + 0x150]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0x100], ebx
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x144]
xor ebx, ebx
jmp 0x4ad214
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xd8]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0xd0]
xchg esi, eax
mov byte [esp + 0x36], al
xchg esi, eax
xchg edi, eax
mov byte [esp + 0x37], al
xchg edi, eax
mov edx, dword [esp + 0xa4]
mov dword [esp + 0xa8], edx
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x48]
mov edx, dword [esp + 0xd8]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xfc], edx
mov dword [esp + 0x40], esi
mov dword [esp + 0xd0], ebp
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], edi
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004a8610
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xa4]
mov ebx, edx
sub edx, ecx
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 8]
mov edi, dword [esp + 0x14]
cmp ebx, edx
jb 0x4af72f
cmp ebp, edx
ja 0x4af726
mov dword [esp + 0x50], eax
mov dword [esp + 0xa4], edx
mov dword [esp + 0xec], esi
mov dword [esp + 0x60], ebp
mov dword [esp + 0x4c], ecx
mov dword [esp + 0xd8], edi
mov eax, dword [esp + 0x100]
mov dword [esp], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
call fcn.004acff0
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x60]
sub eax, ecx
mov edx, eax
neg eax
sar eax, 0x1f
and eax, ecx
mov ebx, dword [esp + 0xfc]
add eax, ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x8c], ebx
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov dword [esp + 0x100], esi
test ebp, ebp
jne 0x4af0d9
mov edi, dword [esp + 0x50]
test edi, edi
je 0x4ae087
mov dword [esp + 0xa8], edx
mov dword [esp + 0xdc], eax
mov ecx, edi
and edi, 0xffff
cmp edi, 0x106
jg 0x4adab7
cmp edi, 0x23
jg 0x4ad894
cmp edi, 0x21
jg 0x4ad798
cmp edi, 0x17
jne 0x4ad42a
mov dword [esp + 0x90], ebp
cmp ebx, 3
jl 0x4ad37d
cmp word [esi], 0x5455
jne 0x4ad37d
cmp byte [esi + 2], 0x43
jne 0x4ad37d
mov ecx, dword [0x81f330]
add ebx, 0xfffffffd
mov edi, ebx
neg ebx
sar ebx, 0x1f
and ebx, 3
add esi, ebx
mov dword [esp + 0xd4], ecx
mov ecx, esi
mov ebx, edi
movzx esi, byte [esp + 0x36]
movzx edi, byte [esp + 0x37]
jmp 0x4ae060
mov dword [esp], esi
mov dword [esp + 4], ebx
call fcn.004af750
mov ecx, dword [esp + 8]
movzx eax, byte [esp + 0xc]
test al, al
je 0x4ad3f9
mov edx, dword [esp + 0x8c]
cmp ecx, edx
ja 0x4af721
sub edx, ecx
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, ecx
mov ebp, dword [esp + 0x100]
lea esi, [edx + ebp]
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xa8]
movzx edi, byte [esp + 0x37]
mov ebp, dword [esp + 0x90]
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x100]
mov dword [esp + 0xd0], eax
mov ecx, esi
movzx esi, byte [esp + 0x36]
mov eax, dword [esp + 0xdc]
jmp 0x4ae060
mov ebp, dword [0x825498]
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xa8]
movzx esi, byte [esp + 0x36]
movzx edi, byte [esp + 0x37]
mov ecx, dword [esp + 0x100]
mov ebx, dword [esp + 0x8c]
jmp 0x4ae060
cmp edi, 0x18
jl 0x4ade0e
cmp ecx, 0x18
je 0x4ad442
cmp ecx, 0x1a
je 0x4ad442
cmp ecx, 0x1b
jne 0x4ad485
cmp ebx, 1
jl 0x4ad480
cmp byte [esi], 0x5a
jne 0x4ad480
dec ebx
mov ecx, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
add esi, ebx
mov eax, dword [0x81f330]
movzx edi, byte [esp + 0x37]
mov dword [esp + 0xd4], eax
mov ebx, ecx
mov eax, dword [esp + 0xdc]
mov ecx, esi
movzx esi, byte [esp + 0x36]
jmp 0x4ae060
cmp ecx, 0x1b
je 0x4ad48a
cmp ecx, 0x20
jne 0x4ad4fb
cmp ebx, 6
jge 0x4ad4ab
mov ebp, dword [0x825498]
movzx esi, byte [esp + 0x36]
movzx edi, byte [esp + 0x37]
mov ecx, dword [esp + 0x100]
jmp 0x4ae060
cmp byte [esi + 3], 0x3a
je 0x4ad4cd
mov ebp, dword [0x825498]
movzx esi, byte [esp + 0x36]
movzx edi, byte [esp + 0x37]
mov ecx, dword [esp + 0x100]
jmp 0x4ae060
lea ecx, [esi + 1]
lea ebp, [esi + 4]
add ebx, 0xfffffffa
mov edi, ebx
neg ebx
sar ebx, 0x1f
and ebx, 6
add ebx, esi
mov dword [esp + 0xb4], eax
lea eax, [0x660ec9]
mov dword [esp + 0xe0], eax
jmp 0x4ad6a3
cmp ecx, 0x1f
je 0x4ad505
cmp ecx, 0x1a
jne 0x4ad556
cmp ebx, 3
jge 0x4ad526
mov ebp, dword [0x825498]
movzx esi, byte [esp + 0x36]
movzx edi, byte [esp + 0x37]
mov ecx, dword [esp + 0x100]
jmp 0x4ae060
lea ecx, [esi + 1]
add ebx, 0xfffffffd
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 3
add ebx, esi
lea edi, [0x660ec9]
lea edi, [0x660ec9]
mov dword [esp + 0xe0], edi
lea edi, [0x660ec9]
jmp 0x4ad696
cmp ecx, 0x1c
je 0x4ad560
cmp ecx, 0x21
jne 0x4ad5d9
cmp ebx, 9
jge 0x4ad581
mov ebp, dword [0x825498]
movzx esi, byte [esp + 0x36]
movzx edi, byte [esp + 0x37]
mov ecx, dword [esp + 0x100]
jmp 0x4ae060
cmp byte [esi + 3], 0x3a
jne 0x4ad58d
cmp byte [esi + 6], 0x3a
je 0x4ad5a9
mov ebp, dword [0x825498]
movzx esi, byte [esp + 0x36]
movzx edi, byte [esp + 0x37]
mov ecx, dword [esp + 0x100]
jmp 0x4ae060
lea ecx, [esi + 1]
lea ebp, [esi + 4]
lea edi, [esi + 7]
add ebx, 0xfffffff7
mov dword [esp + 0xa4], ebx
neg ebx
sar ebx, 0x1f
and ebx, 9
add ebx, esi
mov dword [esp + 0xe0], edi
mov edi, dword [esp + 0xa4]
jmp 0x4ad682
cmp ecx, 0x19
je 0x4ad5e3
cmp ecx, 0x1e
jne 0x4ad631
cmp ebx, 7
jge 0x4ad604
mov ebp, dword [0x825498]
movzx esi, byte [esp + 0x36]
movzx edi, byte [esp + 0x37]
mov ecx, dword [esp + 0x100]
jmp 0x4ae060
lea ecx, [esi + 1]
lea ebp, [esi + 3]
lea edi, [esi + 5]
add ebx, 0xfffffff9
mov dword [esp + 0xa4], ebx
neg ebx
sar ebx, 0x1f
and ebx, 7
add ebx, esi
mov dword [esp + 0xe0], edi
mov edi, dword [esp + 0xa4]
jmp 0x4ad682
cmp ebx, 5
jge 0x4ad652
mov ebp, dword [0x825498]
movzx esi, byte [esp + 0x36]
movzx edi, byte [esp + 0x37]
mov ecx, dword [esp + 0x100]
jmp 0x4ae060
lea ecx, [esi + 1]
lea ebp, [esi + 3]
add ebx, 0xfffffffb
mov edi, ebx
neg ebx
sar ebx, 0x1f
and ebx, 5
add ebx, esi
mov dword [esp + 0xc4], eax
lea eax, [0x660ec9]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xbc], eax
mov eax, ebp
mov ebp, edi
mov edi, eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xac], eax
mov eax, edi
mov edi, ebp
mov ebp, eax
mov dword [esp + 0xa4], edi
mov dword [esp + 0xfc], ebx
mov dword [esp + 0xf0], ebp
mov dword [esp], ecx
mov dword [esp + 4], 2
call fcn.004a9720
mov eax, dword [esp + 8]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x4ad6df
xor edx, edx
jmp 0x4ad707
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.004a9720
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, eax
mov eax, dword [esp + 0x84]
test ecx, ecx
je 0x4ad70f
xor ebx, ebx
jmp 0x4ad73f
mov dword [esp + 0x78], edx
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.004a9720
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x78]
mov ebx, eax
mov eax, dword [esp + 0x84]
imul eax, eax, 0x3c
add eax, edx
imul eax, eax, 0x3c
add eax, ebx
mov edx, dword [esp + 0x100]
movzx edx, byte [edx]
cmp dl, 0x2b
je 0x4ad767
cmp dl, 0x2d
jne 0x4ad761
neg eax
jmp 0x4ad767
mov ecx, dword [0x825498]
mov edx, dword [esp + 0xa8]
movzx esi, byte [esp + 0x36]
movzx edi, byte [esp + 0x37]
mov ebp, ecx
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0xfc]
mov ebx, dword [esp + 0xa4]
mov eax, dword [esp + 0xdc]
jmp 0x4ae060
cmp edi, 0x22
jne 0x4ad857
sar ecx, 0x10
and ecx, 0xfff
lea ebp, [ecx + 1]
cmp ebx, ebp
jge 0x4ad7cd
mov ebp, dword [0x825498]
movzx esi, byte [esp + 0x36]
movzx edi, byte [esp + 0x37]
mov ecx, dword [esp + 0x100]
jmp 0x4ae060
mov dword [esp + 0x38], ecx
mov dword [esp + 0x6c], ebp
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.004afb70
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x6c]
cmp ebp, esi
jb 0x4af718
mov edi, dword [esp + 0x38]
sub ebp, edi
dec ebp
mov edi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and esi, ebp
mov ebp, dword [esp + 0x100]
add esi, ebp
mov ebp, eax
mov dword [esp + 0x5c], ebx
mov dword [esp + 0xe8], edx
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xa8]
mov ecx, esi
mov ebx, edi
movzx esi, byte [esp + 0x36]
movzx edi, byte [esp + 0x37]
jmp 0x4ae060
cmp ebx, 2
jl 0x4ad87e
movzx ecx, byte [esi]
cmp cl, 0x2e
je 0x4ad869
cmp cl, 0x2c
jne 0x4ad87e
movzx ecx, byte [esi + 1]
cmp cl, 0x30
jb 0x4ad87e
cmp cl, 0x39
ja 0x4ad87e
xor ecx, ecx
jmp 0x4af65b
movzx esi, byte [esp + 0x36]
movzx edi, byte [esp + 0x37]
mov ecx, dword [esp + 0x100]
jmp 0x4ae060
cmp edi, 0x102
jg 0x4ad970
cmp edi, 0x101
je 0x4ad912
cmp edi, 0x102
jne 0x4ade0e
mov eax, dword [0x81fef8]
mov ecx, dword [0x81fefc]
mov edx, dword [0x81ff00]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.004a93f0
mov eax, dword [esp + 0x14]
inc eax
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x74], eax
movzx edi, byte [esp + 0x37]
mov ecx, esi
mov eax, dword [esp + 0xdc]
movzx esi, byte [esp + 0x36]
jmp 0x4ae060
mov eax, dword [0x81fed8]
mov ecx, dword [0x81fedc]
mov edx, dword [0x81fee0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.004a93f0
mov eax, dword [esp + 0x14]
inc eax
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x74], eax
movzx edi, byte [esp + 0x37]
mov ecx, esi
mov eax, dword [esp + 0xdc]
movzx esi, byte [esp + 0x36]
jmp 0x4ae060
cmp edi, 0x104
jle 0x4ada3a
cmp edi, 0x105
je 0x4ad9e5
cmp edi, 0x106
jne 0x4ade0e
mov eax, dword [0x81fee8]
mov ecx, dword [0x81feec]
mov edx, dword [0x81fef0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.004a93f0
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xa8]
movzx edi, byte [esp + 0x37]
mov ecx, esi
movzx esi, byte [esp + 0x36]
jmp 0x4ae060
mov eax, dword [0x81fec8]
mov ecx, dword [0x81fecc]
mov edx, dword [0x81fed0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.004a93f0
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xa8]
movzx edi, byte [esp + 0x37]
mov ecx, esi
movzx esi, byte [esp + 0x36]
jmp 0x4ae060
mov dword [esp], esi
mov dword [esp + 4], ebx
cmp ecx, 0x104
sete al
mov byte [esp + 8], al
call fcn.004acee0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test ecx, ecx
jne 0x4ada7c
lea ebp, [eax - 1]
cmp ebp, 0xb
jbe 0x4ada7c
mov ebp, 5
lea esi, [0x6616a0]
jmp 0x4ada87
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0xe8]
mov dword [esp + 0x74], eax
movzx edi, byte [esp + 0x37]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0xe8], esi
mov eax, dword [esp + 0xdc]
movzx esi, byte [esp + 0x36]
mov ebp, ecx
mov ecx, edx
mov edx, dword [esp + 0xa8]
jmp 0x4ae060
cmp edi, 0x20c
jg 0x4add04
cmp edi, 0x10b
jg 0x4adb49
cmp edi, 0x109
jle 0x4adada
xor ebp, ebp
jmp 0x4af5a3
cmp ecx, 0x108
jne 0x4adafa
test ebx, ebx
jle 0x4adafa
cmp byte [esi], 0x20
jne 0x4adafa
dec ebx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
add esi, ebx
mov ebx, ebp
mov dword [esp], esi
mov dword [esp + 4], ebx
cmp ecx, 0x109
sete al
mov byte [esp + 8], al
call fcn.004acee0
mov eax, dword [esp + 0xc]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x94], eax
movzx edi, byte [esp + 0x37]
mov ecx, esi
mov eax, dword [esp + 0xdc]
movzx esi, byte [esp + 0x36]
jmp 0x4ae060
cmp edi, 0x113
jne 0x4adbdc
cmp ebx, 4
jl 0x4adb65
movzx ecx, byte [esi]
add ecx, 0xffffffd0
cmp cl, 9
jbe 0x4adb81
mov ebp, dword [0x825498]
movzx esi, byte [esp + 0x36]
movzx edi, byte [esp + 0x37]
mov ecx, dword [esp + 0x100]
jmp 0x4ae060
mov dword [esp], esi
mov dword [esp + 4], 4
call fcn.004a9720
mov eax, dword [esp + 0x8c]
lea ebx, [eax - 4]
mov eax, ebx
neg ebx
sar ebx, 0x1f
and ebx, 4
mov ecx, dword [esp + 0x100]
lea esi, [ebx + ecx]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0xc]
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x44], ebx
movzx edi, byte [esp + 0x37]
mov ecx, esi
mov ebx, eax
mov eax, dword [esp + 0xdc]
movzx esi, byte [esp + 0x36]
jmp 0x4ae060
cmp edi, 0x114
jne 0x4adc87
cmp ebx, 2
jge 0x4adc09
mov ebp, dword [0x825498]
movzx esi, byte [esp + 0x36]
movzx edi, byte [esp + 0x37]
mov ecx, dword [esp + 0x100]
jmp 0x4ae060
mov dword [esp], esi
mov dword [esp + 4], 2
call fcn.004a9720
mov eax, dword [esp + 0x8c]
lea ecx, [eax - 2]
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
mov ebx, dword [esp + 0x100]
add ecx, ebx
mov ebp, dword [esp + 8]
mov esi, dword [esp + 0xc]
test esi, esi
je 0x4adc4f
mov eax, ebp
mov edx, dword [esp + 0x8c]
mov ecx, ebx
jmp 0x4adc62
cmp ebp, 0x45
jl 0x4adc5c
lea eax, [ebp + 0x76c]
jmp 0x4adc62
lea eax, [ebp + 0x7d0]
mov dword [esp + 0x44], eax
movzx edi, byte [esp + 0x37]
mov ebp, esi
mov ebx, edx
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xa8]
movzx esi, byte [esp + 0x36]
jmp 0x4ae060
cmp edi, 0x20c
jne 0x4ade0e
mov dword [esp], esi
mov dword [esp + 4], ebx
mov byte [esp + 8], 0
call fcn.004acee0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
cmp eax, 0x18
jb 0x4adcc6
mov ebp, 4
lea esi, [0x6613f1]
jmp 0x4adcd1
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0xe8]
mov dword [esp + 0x88], eax
movzx edi, byte [esp + 0x37]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0xe8], esi
mov eax, dword [esp + 0xdc]
movzx esi, byte [esp + 0x36]
mov ebp, ecx
mov ecx, edx
mov edx, dword [esp + 0xa8]
jmp 0x4ae060
cmp edi, 0x210
jle 0x4adf71
cmp edi, 0x212
jle 0x4ade24
cmp edi, 0x215
jne 0x4add95
cmp ebx, 2
jge 0x4add45
mov ebp, dword [0x825498]
movzx esi, byte [esp + 0x36]
movzx edi, byte [esp + 0x37]
mov ecx, dword [esp + 0x100]
jmp 0x4ae060
lea ecx, [ebx - 2]
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, esi
cmp word [esi], 0x4d41
jne 0x4add6a
movzx esi, byte [esp + 0x36]
mov edi, 1
jmp 0x4ae060
cmp word [esi], 0x4d50
jne 0x4add80
mov esi, 1
movzx edi, byte [esp + 0x37]
jmp 0x4ae060
mov ebp, dword [0x825498]
movzx esi, byte [esp + 0x36]
movzx edi, byte [esp + 0x37]
jmp 0x4ae060
cmp edi, 0x216
jne 0x4ade0e
cmp ebx, 2
jge 0x4addbe
mov ebp, dword [0x825498]
movzx esi, byte [esp + 0x36]
movzx edi, byte [esp + 0x37]
mov ecx, dword [esp + 0x100]
jmp 0x4ae060
lea ecx, [ebx - 2]
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, esi
cmp word [esi], 0x6d61
jne 0x4adde3
movzx esi, byte [esp + 0x36]
mov edi, 1
jmp 0x4ae060
cmp word [esi], 0x6d70
jne 0x4addf9
mov esi, 1
movzx edi, byte [esp + 0x37]
jmp 0x4ae060
mov ebp, dword [0x825498]
movzx esi, byte [esp + 0x36]
movzx edi, byte [esp + 0x37]
jmp 0x4ae060
movzx esi, byte [esp + 0x36]
movzx edi, byte [esp + 0x37]
mov ecx, dword [esp + 0x100]
jmp 0x4ae060
mov dword [esp], esi
mov dword [esp + 4], ebx
cmp ecx, 0x212
sete al
mov byte [esp + 8], al
call fcn.004acee0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
cmp eax, 0x3c
jb 0x4ade9b
mov dword [esp + 0x54], eax
movzx esi, byte [esp + 0x36]
movzx edi, byte [esp + 0x37]
mov ebp, edx
mov edx, 6
mov dword [esp + 0x5c], edx
lea esi, [0x661988]
mov dword [esp + 0xe8], esi
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xa8]
movzx esi, byte [esp + 0x36]
mov edi, ecx
mov ecx, ebx
mov ebx, edi
movzx edi, byte [esp + 0x37]
jmp 0x4ae060
cmp ecx, 2
jl 0x4adf5d
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
je 0x4adeb9
xchg ebp, eax
cmp al, 0x2c
xchg ebp, eax
jne 0x4adf5d
movzx ebp, byte [ebx + 1]
add ebp, 0xffffffd0
xchg ebp, eax
cmp al, 9
xchg ebp, eax
ja 0x4adf5d
mov dword [esp + 0xa0], eax
mov dword [esp + 0xe4], ebx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x9c], edx
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], ecx
call fcn.004a8610
mov eax, dword [esp + 0x10]
and eax, 0xffff
cmp eax, 0x22
je 0x4adf0e
cmp eax, 0x23
jne 0x4adf48
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x54], ecx
movzx esi, byte [esp + 0x36]
movzx edi, byte [esp + 0x37]
mov ebp, dword [esp + 0x9c]
mov ecx, dword [esp + 0xe4]
mov ebx, dword [esp + 0x58]
jmp 0x4ae060
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0xe4]
mov eax, 2
jmp 0x4af50c
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0xe8]
jmp 0x4af4cc
cmp edi, 0x20e
jg 0x4adfef
mov dword [esp], esi
mov dword [esp + 4], ebx
cmp ecx, 0x20e
sete al
mov byte [esp + 8], al
call fcn.004acee0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
cmp eax, 0xc
jbe 0x4adfb4
mov ebp, 4
lea esi, [0x6613f1]
jmp 0x4adfbf
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0xe8]
mov dword [esp + 0x88], eax
movzx edi, byte [esp + 0x37]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0xe8], esi
mov eax, dword [esp + 0xdc]
movzx esi, byte [esp + 0x36]
mov ebp, ecx
mov ecx, edx
mov edx, dword [esp + 0xa8]
jmp 0x4ae060
mov dword [esp], esi
mov dword [esp + 4], ebx
cmp ecx, 0x210
sete al
mov byte [esp + 8], al
call fcn.004acee0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
cmp eax, 0x3c
jb 0x4ae02a
mov ebp, 6
lea esi, [0x661964]
jmp 0x4ae035
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0xe8]
mov dword [esp + 0x7c], eax
movzx edi, byte [esp + 0x37]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0xe8], esi
mov eax, dword [esp + 0xdc]
movzx esi, byte [esp + 0x36]
mov ebp, ecx
mov ecx, edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x100], ecx
mov dword [esp + 0xa4], ebx
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0x4af358
test ebp, ebp
je 0x4ad1d5
jmp 0x4af237
test ebx, ebx
jne 0x4aef79
movzx edx, byte [esp + 0x36]
test dl, dl
je 0x4ae0a9
mov edx, dword [esp + 0x88]
cmp edx, 0xc
jge 0x4ae0b0
add edx, 0xc
jmp 0x4ae0c2
mov edx, dword [esp + 0x88]
movzx ebp, byte [esp + 0x37]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4ae0c2
cmp edx, 0xc
jne 0x4ae0c2
xor edx, edx
mov ebp, dword [esp + 0x48]
test ebp, ebp
jl 0x4ae4e8
mov eax, dword [esp + 0x44]
test eax, 3
jne 0x4ae160
mov edi, 0x51eb851f
mov ecx, edx
imul edi
mov dword [esp + 0xa8], edx
mov eax, dword [esp + 0x44]
sar eax, 0x1f
sar edx, 5
sub edx, eax
imul edx, edx, 0x64
mov esi, dword [esp + 0x44]
cmp esi, edx
jne 0x4ae11a
mov edx, dword [esp + 0xa8]
sar edx, 7
sub edx, eax
imul edx, edx, 0x190
cmp esi, edx
jne 0x4ae14f
cmp ebp, 0x3c
jne 0x4ae12d
mov edx, ebp
mov eax, 2
mov ebp, 0x1d
jmp 0x4ae13a
jle 0x4ae134
lea edx, [ebp - 1]
jmp 0x4ae136
mov edx, ebp
xor eax, eax
xor ebp, ebp
mov esi, dword [esp + 0x100]
mov edi, ebp
mov ebp, edx
mov edx, ecx
mov ecx, eax
mov eax, dword [esp + 0x44]
jmp 0x4ae164
mov eax, esi
mov edx, ecx
mov esi, dword [esp + 0x100]
xor ecx, ecx
xor edi, edi
jmp 0x4ae164
xor ecx, ecx
xor edi, edi
lea esi, [ebp - 1]
cmp esi, 0x16c
ja 0x4ae3ec
test ecx, ecx
jne 0x4ae1c9
mov ecx, eax
mov eax, 0x84210843
mov edi, edx
imul esi
lea edx, [edx + ebp - 1]
sar edx, 4
lea eax, [edx + 1]
cmp eax, 0xd
jae 0x4af22d
lea esi, [0x7f16a0]
lea ebx, [esi + edx*4 + 4]
cmp dword [ebx], ebp
jge 0x4ae1a6
lea eax, [edx + 2]
lea edx, [eax - 1]
cmp edx, 0xd
jae 0x4af221
mov edx, dword [esi + eax*4 - 4]
sub ebp, edx
mov edx, edi
mov ebx, dword [esp + 0x8c]
mov ecx, eax
mov edi, ebp
mov eax, dword [esp + 0x44]
mov ebp, dword [esp + 0x74]
test ebp, ebp
jl 0x4ae2d9
cmp ecx, ebp
je 0x4ae2d9
lea eax, [0x64b4c0]
mov dword [esp], eax
call fcn.0040b620
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x148]
mov dword [edi + 4], eax
mov eax, dword [0x84c7c0]
test eax, eax
jne 0x4ae20e
mov ecx, dword [esp + 0x144]
mov dword [edi], ecx
jmp 0x4ae21a
mov eax, dword [esp + 0x144]
call fcn.0045e710
mov ecx, dword [esp + 0x150]
mov dword [edi + 0xc], ecx
mov ecx, dword [0x84c7c0]
test ecx, ecx
jne 0x4ae23a
mov ecx, dword [esp + 0x14c]
mov dword [edi + 8], ecx
jmp 0x4ae24f
lea ecx, [edi + 8]
mov eax, dword [esp + 0x14c]
mov edx, edi
mov edi, ecx
call fcn.0045e710
mov edi, edx
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0
mov ecx, dword [esp + 0x8c]
mov dword [edi + 0x1c], ecx
mov ecx, dword [0x84c7c0]
test ecx, ecx
jne 0x4ae27d
mov ecx, dword [esp + 0x100]
mov dword [edi + 0x18], ecx
jmp 0x4ae292
lea ecx, [edi + 0x18]
mov eax, dword [esp + 0x100]
mov edx, edi
mov edi, ecx
call fcn.0045e710
mov edi, edx
mov dword [esp + 0xf8], edi
mov dword [edi + 0x24], 0x22
lea ecx, [0x66c942]
mov dword [edi + 0x20], ecx
xor eax, eax
lea edi, [esp + 0x15c]
call fcn.0045e9bb
lea ecx, [0x6c36a4]
mov dword [esp + 0x170], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x174], ecx
add esp, 0x140
ret
mov ebp, dword [esp + 0x94]
test ebp, ebp
jl 0x4ae50b
cmp edi, ebp
je 0x4ae50b
lea eax, [0x64b4c0]
mov dword [esp], eax
call fcn.0040b620
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x148]
mov dword [edi + 4], eax
mov eax, dword [0x84c7c0]
test eax, eax
jne 0x4ae321
mov ecx, dword [esp + 0x144]
mov dword [edi], ecx
jmp 0x4ae32d
mov eax, dword [esp + 0x144]
call fcn.0045e710
mov ecx, dword [esp + 0x150]
mov dword [edi + 0xc], ecx
mov ecx, dword [0x84c7c0]
test ecx, ecx
jne 0x4ae34d
mov ecx, dword [esp + 0x14c]
mov dword [edi + 8], ecx
jmp 0x4ae362
lea ecx, [edi + 8]
mov eax, dword [esp + 0x14c]
mov edx, edi
mov edi, ecx
call fcn.0045e710
mov edi, edx
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0
mov ecx, dword [esp + 0x8c]
mov dword [edi + 0x1c], ecx
mov ecx, dword [0x84c7c0]
test ecx, ecx
jne 0x4ae390
mov ecx, dword [esp + 0x100]
mov dword [edi + 0x18], ecx
jmp 0x4ae3a5
lea ecx, [edi + 0x18]
mov eax, dword [esp + 0x100]
mov edx, edi
mov edi, ecx
call fcn.0045e710
mov edi, edx
mov dword [esp + 0xf8], edi
mov dword [edi + 0x24], 0x20
lea ecx, [0x66b91d]
mov dword [edi + 0x20], ecx
xor eax, eax
lea edi, [esp + 0x15c]
call fcn.0045e9bb
lea ecx, [0x6c36a4]
mov dword [esp + 0x170], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x174], ecx
add esp, 0x140
ret
lea eax, [0x64b4c0]
mov dword [esp], eax
call fcn.0040b620
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x148]
mov dword [edi + 4], eax
mov eax, dword [0x84c7c0]
test eax, eax
jne 0x4ae41d
mov ecx, dword [esp + 0x144]
mov dword [edi], ecx
jmp 0x4ae429
mov eax, dword [esp + 0x144]
call fcn.0045e710
mov ecx, dword [esp + 0x150]
mov dword [edi + 0xc], ecx
mov ecx, dword [0x84c7c0]
test ecx, ecx
jne 0x4ae449
mov ecx, dword [esp + 0x14c]
mov dword [edi + 8], ecx
jmp 0x4ae45e
lea ecx, [edi + 8]
mov eax, dword [esp + 0x14c]
mov edx, edi
mov edi, ecx
call fcn.0045e710
mov edi, edx
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0
mov ecx, dword [esp + 0x8c]
mov dword [edi + 0x1c], ecx
mov ecx, dword [0x84c7c0]
test ecx, ecx
jne 0x4ae48c
mov ecx, dword [esp + 0x100]
mov dword [edi + 0x18], ecx
jmp 0x4ae4a1
lea ecx, [edi + 0x18]
mov eax, dword [esp + 0x100]
mov edx, edi
mov edi, ecx
call fcn.0045e710
mov edi, edx
mov dword [esp + 0xf8], edi
mov dword [edi + 0x24], 0x1a
lea ecx, [0x668e7c]
mov dword [edi + 0x20], ecx
xor eax, eax
lea edi, [esp + 0x15c]
call fcn.0045e9bb
lea ecx, [0x6c36a4]
mov dword [esp + 0x170], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x174], ecx
add esp, 0x140
ret
mov ebp, dword [esp + 0x74]
test ebp, ebp
jge 0x4ae4f5
mov ebp, 1
mov edi, dword [esp + 0x94]
test edi, edi
jge 0x4ae505
mov edi, 1
mov eax, dword [esp + 0x44]
mov ecx, ebp
cmp edi, 1
jl 0x4ae599
cmp ecx, 2
jne 0x4ae566
test eax, 3
jne 0x4ae562
mov ebp, 0x51eb851f
mov esi, edx
imul ebp
mov dword [esp + 0xa8], edx
mov ebp, dword [esp + 0x44]
mov eax, ebp
sar ebp, 0x1f
sar edx, 5
sub edx, ebp
imul edx, edx, 0x64
cmp eax, edx
jne 0x4ae55b
mov edx, dword [esp + 0xa8]
sar edx, 7
sub edx, ebp
imul edx, edx, 0x190
cmp eax, edx
jne 0x4ae568
mov ebp, 0x1d
jmp 0x4ae591
mov esi, edx
jmp 0x4ae568
mov esi, edx
cmp ecx, 0xd
jae 0x4af215
lea edx, [0x7f16a0]
mov ebp, dword [edx + ecx*4]
lea ebx, [ecx - 1]
cmp ebx, 0xd
jae 0x4af209
sub ebp, dword [edx + ecx*4 - 4]
mov ebx, dword [esp + 0x8c]
cmp ebp, edi
jge 0x4ae695
lea eax, [0x64b4c0]
mov dword [esp], eax
call fcn.0040b620
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x148]
mov dword [edi + 4], eax
mov eax, dword [0x84c7c0]
test eax, eax
jne 0x4ae5ca
mov ecx, dword [esp + 0x144]
mov dword [edi], ecx
jmp 0x4ae5d6
mov eax, dword [esp + 0x144]
call fcn.0045e710
mov ecx, dword [esp + 0x150]
mov dword [edi + 0xc], ecx
mov ecx, dword [0x84c7c0]
test ecx, ecx
jne 0x4ae5f6
mov ecx, dword [esp + 0x14c]
mov dword [edi + 8], ecx
jmp 0x4ae60b
lea ecx, [edi + 8]
mov eax, dword [esp + 0x14c]
mov edx, edi
mov edi, ecx
call fcn.0045e710
mov edi, edx
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0
mov ecx, dword [esp + 0x8c]
mov dword [edi + 0x1c], ecx
mov ecx, dword [0x84c7c0]
test ecx, ecx
jne 0x4ae639
mov ecx, dword [esp + 0x100]
mov dword [edi + 0x18], ecx
jmp 0x4ae64e
lea ecx, [edi + 0x18]
mov eax, dword [esp + 0x100]
mov edx, edi
mov edi, ecx
call fcn.0045e710
mov edi, edx
mov dword [esp + 0xf8], edi
mov dword [edi + 0x24], 0x12
lea ecx, [0x6652a3]
mov dword [edi + 0x20], ecx
xor eax, eax
lea edi, [esp + 0x15c]
call fcn.0045e9bb
lea ecx, [0x6c36a4]
mov dword [esp + 0x170], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x174], ecx
add esp, 0x140
ret
mov edx, dword [esp + 0xd4]
test edx, edx
jne 0x4aef09
mov edx, dword [esp + 0x3c]
cmp edx, 0xffffffff
jne 0x4aeb1c
mov edx, dword [esp + 0x40]
test edx, edx
je 0x4aeaa5
mov edx, dword [0x81f330]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
call fcn.004b3300
lea edi, [esp + 0x104]
lea esi, [esp + 0x20]
call fcn.0045ee9e
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x108]
test ecx, 0x80000000
je 0x4ae742
shl ecx, 1
mov edx, eax
shr eax, 0x1f
or eax, ecx
shl edx, 1
mov ecx, eax
shl eax, 1
shr edx, 0x1f
or eax, edx
mov edx, eax
add eax, 0xd7b17f80
shr ecx, 0x1f
add edx, 0xd7b17f80
adc ecx, 0xd
jmp 0x4ae750
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x110]
add eax, 0x886e0900
mov edx, dword [esp + 0x158]
mov dword [esp], edx
mov ebx, dword [esp + 0xd0]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x40]
mov dword [esp + 8], ebp
adc ecx, 0xfffffff1
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
call fcn.004b62c0
mov eax, dword [esp + 0x14]
movzx ecx, byte [esp + 0x18]
test cl, cl
jne 0x4ae9cc
mov ecx, dword [esp + 0x40]
cmp ecx, 3
jle 0x4ae7ce
mov edx, dword [esp + 0xd0]
cmp word [edx], 0x4d47
jne 0x4ae7d5
cmp byte [edx + 2], 0x54
jne 0x4ae7d5
lea eax, [edx + 3]
mov dword [esp], eax
lea eax, [ecx - 3]
mov dword [esp + 4], eax
call fcn.004a9720
mov eax, dword [esp + 8]
imul eax, eax, 0xe10
jmp 0x4ae7d5
mov edx, dword [esp + 0xd0]
mov dword [esp + 0x64], eax
nop
lea ecx, [0x64f2c0]
mov dword [esp], ecx
call fcn.0040b620
mov edi, dword [esp + 4]
mov dword [esp + 0xcc], edi
mov eax, dword [esp + 0x40]
mov dword [edi + 4], eax
mov ecx, dword [0x84c7c0]
test ecx, ecx
jne 0x4ae80f
mov ecx, dword [esp + 0xd0]
mov dword [edi], ecx
jmp 0x4ae81b
mov eax, dword [esp + 0xd0]
call fcn.0045e710
lea eax, [0x62a9c0]
mov dword [esp], eax
call fcn.0040b620
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x40]
mov dword [eax + 4], ecx
mov ecx, dword [0x84c7c0]
test ecx, ecx
jne 0x4ae849
mov ecx, dword [esp + 0xd0]
mov dword [eax], ecx
jmp 0x4ae859
mov edi, eax
mov eax, dword [esp + 0xd0]
call fcn.0045e710
mov eax, edi
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
mov byte [eax + 0xc], 0
mov ecx, dword [esp + 0xcc]
mov dword [ecx + 0xc], 1
mov dword [ecx + 0x10], 1
mov edx, dword [0x84c7c0]
test edx, edx
jne 0x4ae888
mov dword [ecx + 8], eax
jmp 0x4ae890
lea edi, [ecx + 8]
call fcn.0045e710
lea eax, [0x62aa00]
mov dword [esp], eax
call fcn.0040b620
mov eax, dword [esp + 4]
mov dword [eax], 0
mov dword [eax + 4], 0x80000000
mov word [eax + 8], 0
mov byte [eax + 0xa], 0
mov ecx, dword [esp + 0xcc]
mov dword [ecx + 0x18], 1
mov dword [ecx + 0x1c], 1
mov edx, dword [0x84c7c0]
test edx, edx
jne 0x4ae8dd
mov dword [ecx + 0x14], eax
jmp 0x4ae8e5
lea edi, [ecx + 0x14]
call fcn.0045e710
mov dword [ecx + 0x28], 0
mov dword [ecx + 0x2c], 0x80000000
mov dword [ecx + 0x30], 0xffffffff
mov dword [ecx + 0x34], 0x7fffffff
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx + 8]
test edx, edx
jbe 0x4af200
mov edx, dword [0x84c7c0]
test edx, edx
jne 0x4ae91e
mov dword [ecx + 0x38], eax
jmp 0x4ae926
lea edi, [ecx + 0x38]
call fcn.0045e710
nop
lea eax, [0x8224e0]
cmp ecx, eax
jne 0x4ae933
xor ecx, ecx
nop
mov eax, dword [esp + 0x104]
mov edx, dword [esp + 0x108]
test edx, 0x80000000
je 0x4ae995
shl edx, 1
mov ebx, eax
shr eax, 0x1f
or eax, edx
shl ebx, 1
mov edx, eax
shl eax, 1
shr ebx, 0x1f
or eax, ebx
mov ebx, eax
add eax, 0xd7b17f80
mov dword [esp + 0x10c], eax
shr edx, 0x1f
add ebx, 0xd7b17f80
adc edx, 0xd
mov dword [esp + 0x110], edx
and dword [esp + 0x104], 0x3fffffff
mov dword [esp + 0x108], 0
mov dword [esp + 0x114], ecx
lea edi, [esp + 0x15c]
lea esi, [esp + 0x104]
call fcn.0045ee9e
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
add esp, 0x140
ret
xor ecx, ecx
sub ecx, eax
lea edx, [esp + 0x104]
mov dword [esp], edx
mov ebx, eax
sar eax, 0x1f
xor ebp, ebp
sub ebp, ebx
mov ebx, 0
sbb ebx, eax
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
call fcn.004b00d0
nop
mov eax, dword [esp + 0x158]
lea ecx, [0x8224e0]
cmp eax, ecx
jne 0x4aea0b
xor eax, eax
nop
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x108]
test edx, 0x80000000
je 0x4aea6e
shl edx, 1
mov ebx, ecx
shr ecx, 0x1f
or ecx, edx
shl ebx, 1
mov edx, ecx
shl ecx, 1
shr ebx, 0x1f
or ebx, ecx
mov ecx, ebx
add ebx, 0xd7b17f80
mov dword [esp + 0x10c], ebx
shr edx, 0x1f
add ecx, 0xd7b17f80
adc edx, 0xd
mov dword [esp + 0x110], edx
and dword [esp + 0x104], 0x3fffffff
mov dword [esp + 0x108], 0
mov dword [esp + 0x114], eax
lea edi, [esp + 0x15c]
lea esi, [esp + 0x104]
call fcn.0045ee9e
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
add esp, 0x140
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x154]
mov dword [esp + 0x1c], eax
call fcn.004b3300
lea edi, [esp + 0x12c]
lea esi, [esp + 0x20]
call fcn.0045ee9e
lea edi, [esp + 0x15c]
lea esi, [esp + 0x12c]
call fcn.0045ee9e
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
add esp, 0x140
ret
xor ebx, ebx
sub ebx, edx
mov dword [esp + 0x98], ebx
mov ebp, dword [0x81f330]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebp
call fcn.004b3300
lea edi, [esp + 0x118]
lea esi, [esp + 0x20]
call fcn.0045ee9e
lea eax, [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x3c]
mov edx, ecx
sar ecx, 0x1f
xor ebx, ebx
sub ebx, edx
mov ebx, 0
sbb ebx, ecx
mov dword [esp + 8], ebx
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
call fcn.004b00d0
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x11c]
test ecx, 0x80000000
je 0x4aebde
shl ecx, 1
mov edx, eax
shr eax, 0x1f
or eax, ecx
shl edx, 1
mov ecx, eax
shl eax, 1
shr edx, 0x1f
or eax, edx
mov edx, eax
add eax, 0xd7b17f80
shr ecx, 0x1f
add edx, 0xd7b17f80
adc ecx, 0xd
jmp 0x4aebec
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x124]
add eax, 0x886e0900
mov edx, dword [esp + 0x158]
mov dword [esp], edx
adc ecx, 0xfffffff1
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
call fcn.004b43a0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x3c]
cmp dword [esp + 0x14], edx
jne 0x4aec5a
mov ebx, dword [esp + 0x40]
test ebx, ebx
jne 0x4aec2c
mov eax, 1
jmp 0x4aec60
cmp ebx, eax
je 0x4aec34
xor eax, eax
jmp 0x4aec60
mov dword [esp], ecx
mov ecx, dword [esp + 0xd0]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00402800
movzx eax, byte [esp + 0xc]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
jmp 0x4aec60
mov ebx, dword [esp + 0x40]
xor eax, eax
test al, al
je 0x4aed16
nop
mov eax, dword [esp + 0x158]
lea ecx, [0x8224e0]
cmp eax, ecx
jne 0x4aec7c
xor eax, eax
nop
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x11c]
test edx, 0x80000000
je 0x4aecdf
shl edx, 1
mov ebx, ecx
shr ecx, 0x1f
or ecx, edx
shl ebx, 1
mov edx, ecx
shl ecx, 1
shr ebx, 0x1f
or ecx, ebx
mov ebx, ecx
add ecx, 0xd7b17f80
mov dword [esp + 0x120], ecx
shr edx, 0x1f
add ebx, 0xd7b17f80
adc edx, 0xd
mov dword [esp + 0x124], edx
and dword [esp + 0x118], 0x3fffffff
mov dword [esp + 0x11c], 0
mov dword [esp + 0x128], eax
lea edi, [esp + 0x15c]
lea esi, [esp + 0x118]
call fcn.0045ee9e
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
add esp, 0x140
ret
nop
lea eax, [0x64f2c0]
mov dword [esp], eax
call fcn.0040b620
mov edi, dword [esp + 4]
mov dword [esp + 0xf4], edi
mov eax, dword [esp + 0x40]
mov dword [edi + 4], eax
mov ecx, dword [0x84c7c0]
test ecx, ecx
jne 0x4aed4c
mov ecx, dword [esp + 0xd0]
mov dword [edi], ecx
jmp 0x4aed58
mov eax, dword [esp + 0xd0]
call fcn.0045e710
lea eax, [0x62a9c0]
mov dword [esp], eax
call fcn.0040b620
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x40]
mov dword [eax + 4], ecx
mov ecx, dword [0x84c7c0]
test ecx, ecx
jne 0x4aed86
mov ecx, dword [esp + 0xd0]
mov dword [eax], ecx
jmp 0x4aed96
mov edi, eax
mov eax, dword [esp + 0xd0]
call fcn.0045e710
mov eax, edi
mov ecx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov byte [eax + 0xc], 0
mov ecx, dword [esp + 0xf4]
mov dword [ecx + 0xc], 1
mov dword [ecx + 0x10], 1
mov edx, dword [0x84c7c0]
test edx, edx
jne 0x4aedc5
mov dword [ecx + 8], eax
jmp 0x4aedcd
lea edi, [ecx + 8]
call fcn.0045e710
lea eax, [0x62aa00]
mov dword [esp], eax
call fcn.0040b620
mov eax, dword [esp + 4]
mov dword [eax], 0
mov dword [eax + 4], 0x80000000
mov word [eax + 8], 0
mov byte [eax + 0xa], 0
mov ecx, dword [esp + 0xf4]
mov dword [ecx + 0x18], 1
mov dword [ecx + 0x1c], 1
mov edx, dword [0x84c7c0]
test edx, edx
jne 0x4aee1a
mov dword [ecx + 0x14], eax
jmp 0x4aee22
lea edi, [ecx + 0x14]
call fcn.0045e710
mov dword [ecx + 0x28], 0
mov dword [ecx + 0x2c], 0x80000000
mov dword [ecx + 0x30], 0xffffffff
mov dword [ecx + 0x34], 0x7fffffff
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx + 8]
test edx, edx
jbe 0x4af1f7
mov edx, dword [0x84c7c0]
test edx, edx
jne 0x4aee5b
mov dword [ecx + 0x38], eax
jmp 0x4aee63
lea edi, [ecx + 0x38]
call fcn.0045e710
nop
lea eax, [0x8224e0]
cmp ecx, eax
jne 0x4aee70
xor ecx, ecx
nop
mov eax, dword [esp + 0x118]
mov edx, dword [esp + 0x11c]
test edx, 0x80000000
je 0x4aeed2
shl edx, 1
mov ebx, eax
shr eax, 0x1f
or eax, edx
shl ebx, 1
mov edx, eax
shl eax, 1
shr ebx, 0x1f
or eax, ebx
mov ebx, eax
add eax, 0xd7b17f80
mov dword [esp + 0x120], eax
shr edx, 0x1f
add ebx, 0xd7b17f80
adc edx, 0xd
mov dword [esp + 0x124], edx
and dword [esp + 0x118], 0x3fffffff
mov dword [esp + 0x11c], 0
mov dword [esp + 0x128], ecx
lea edi, [esp + 0x15c]
lea esi, [esp + 0x118]
call fcn.0045ee9e
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
add esp, 0x140
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
call fcn.004b3300
lea edi, [esp + 0x12c]
lea esi, [esp + 0x20]
call fcn.0045ee9e
lea edi, [esp + 0x15c]
lea esi, [esp + 0x12c]
call fcn.0045ee9e
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
add esp, 0x140
ret
mov dword [esp], esi
mov dword [esp + 4], ebx
call fcn.004ac850
mov eax, dword [esp + 8]
mov dword [esp + 0xfc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xa8], ecx
lea edx, [0x64b4c0]
mov dword [esp], edx
call fcn.0040b620
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x148]
mov dword [edi + 4], eax
mov eax, dword [0x84c7c0]
test eax, eax
jne 0x4aefcc
mov ecx, dword [esp + 0x144]
mov dword [edi], ecx
jmp 0x4aefd8
mov eax, dword [esp + 0x144]
call fcn.0045e710
mov ecx, dword [esp + 0x150]
mov dword [edi + 0xc], ecx
mov ecx, dword [0x84c7c0]
test ecx, ecx
jne 0x4aeff8
mov ecx, dword [esp + 0x14c]
mov dword [edi + 8], ecx
jmp 0x4af00d
lea ecx, [edi + 8]
mov eax, dword [esp + 0x14c]
mov edx, edi
mov edi, ecx
call fcn.0045e710
mov edi, edx
mov dword [esp + 0xf8], edi
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0
mov ecx, dword [esp + 0x8c]
mov dword [edi + 0x1c], ecx
mov ecx, dword [0x84c7c0]
test ecx, ecx
jne 0x4af042
mov eax, dword [esp + 0x100]
mov dword [edi + 0x18], eax
jmp 0x4af053
lea ecx, [edi + 0x18]
mov eax, dword [esp + 0x100]
mov edi, ecx
call fcn.0045e710
mov dword [esp], 0
lea eax, [0x663ba8]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xe
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x10], eax
call fcn.0044aa40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xf8]
mov dword [edx + 0x24], ecx
mov ecx, dword [0x84c7c0]
test ecx, ecx
jne 0x4af0a8
mov dword [edx + 0x20], eax
jmp 0x4af0b0
lea edi, [edx + 0x20]
call fcn.0045e710
lea edi, [esp + 0x15c]
xor eax, eax
call fcn.0045e9bb
lea ecx, [0x6c36a4]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], edx
add esp, 0x140
ret
lea eax, [0x64b4c0]
mov dword [esp], eax
call fcn.0040b620
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x148]
mov dword [edi + 4], eax
mov eax, dword [0x84c7c0]
test eax, eax
jne 0x4af10a
mov ecx, dword [esp + 0x144]
mov dword [edi], ecx
jmp 0x4af116
mov eax, dword [esp + 0x144]
call fcn.0045e710
mov ecx, dword [esp + 0x150]
mov dword [edi + 0xc], ecx
mov ecx, dword [0x84c7c0]
test ecx, ecx
jne 0x4af136
mov ecx, dword [esp + 0x14c]
mov dword [edi + 8], ecx
jmp 0x4af14b
lea ecx, [edi + 8]
mov eax, dword [esp + 0x14c]
mov edx, edi
mov edi, ecx
call fcn.0045e710
mov edi, edx
mov ecx, dword [esp + 0x60]
mov dword [edi + 0x14], ecx
mov ecx, dword [0x84c7c0]
test ecx, ecx
jne 0x4af168
mov ecx, dword [esp + 0xec]
mov dword [edi + 0x10], ecx
jmp 0x4af17d
lea ecx, [edi + 0x10]
mov eax, dword [esp + 0xec]
mov edx, edi
mov edi, ecx
call fcn.0045e710
mov edi, edx
mov ecx, dword [esp + 0x8c]
mov dword [edi + 0x1c], ecx
mov ecx, dword [0x84c7c0]
test ecx, ecx
jne 0x4af19d
mov ecx, dword [esp + 0x100]
mov dword [edi + 0x18], ecx
jmp 0x4af1b2
lea ecx, [edi + 0x18]
mov eax, dword [esp + 0x100]
mov edx, edi
mov edi, ecx
call fcn.0045e710
mov edi, edx
mov dword [esp + 0xf8], edi
mov dword [edi + 0x24], 0
mov dword [edi + 0x20], 0
xor eax, eax
lea edi, [esp + 0x15c]
call fcn.0045e9bb
lea ecx, [0x6c36a4]
mov dword [esp + 0x170], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x174], ecx
add esp, 0x140
ret
xor eax, eax
mov ecx, edx
call fcn.0045e790
xor eax, eax
mov ecx, edx
call fcn.0045e790
mov eax, ebx
mov ecx, 0xd
call fcn.0045e790
mov eax, ecx
mov ecx, 0xd
call fcn.0045e790
mov eax, edx
mov ecx, 0xd
call fcn.0045e790
mov ecx, 0xd
call fcn.0045e790
lea eax, [0x64b4c0]
mov dword [esp], eax
call fcn.0040b620
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x148]
mov dword [edi + 4], eax
mov eax, dword [0x84c7c0]
test eax, eax
jne 0x4af268
mov ecx, dword [esp + 0x144]
mov dword [edi], ecx
jmp 0x4af274
mov eax, dword [esp + 0x144]
call fcn.0045e710
mov ecx, dword [esp + 0x150]
mov dword [edi + 0xc], ecx
mov ecx, dword [0x84c7c0]
test ecx, ecx
jne 0x4af294
mov ecx, dword [esp + 0x14c]
mov dword [edi + 8], ecx
jmp 0x4af2a9
lea ecx, [edi + 8]
mov eax, dword [esp + 0x14c]
mov edx, edi
mov edi, ecx
call fcn.0045e710
mov edi, edx
mov ecx, dword [esp + 0xa8]
mov dword [edi + 0x14], ecx
mov ecx, dword [0x84c7c0]
test ecx, ecx
jne 0x4af2c9
mov ecx, dword [esp + 0xdc]
mov dword [edi + 0x10], ecx
jmp 0x4af2de
lea ecx, [edi + 0x10]
mov eax, dword [esp + 0xdc]
mov edx, edi
mov edi, ecx
call fcn.0045e710
mov edi, edx
mov ecx, dword [esp + 0xa4]
mov dword [edi + 0x1c], ecx
mov ecx, dword [0x84c7c0]
test ecx, ecx
jne 0x4af2fe
mov ecx, dword [esp + 0x100]
mov dword [edi + 0x18], ecx
jmp 0x4af313
lea ecx, [edi + 0x18]
mov eax, dword [esp + 0x100]
mov edx, edi
mov edi, ecx
call fcn.0045e710
mov edi, edx
mov dword [esp + 0xf8], edi
mov dword [edi + 0x24], 0
mov dword [edi + 0x20], 0
xor eax, eax
lea edi, [esp + 0x15c]
call fcn.0045e9bb
lea ecx, [0x6c36a4]
mov dword [esp + 0x170], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x174], ecx
add esp, 0x140
ret
lea eax, [0x64b4c0]
mov dword [esp], eax
call fcn.0040b620
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x148]
mov dword [edi + 4], eax
mov eax, dword [0x84c7c0]
test eax, eax
jne 0x4af389
mov ecx, dword [esp + 0x144]
mov dword [edi], ecx
jmp 0x4af395
mov eax, dword [esp + 0x144]
call fcn.0045e710
mov ecx, dword [esp + 0x150]
mov dword [edi + 0xc], ecx
mov ecx, dword [0x84c7c0]
test ecx, ecx
jne 0x4af3b5
mov ecx, dword [esp + 0x14c]
mov dword [edi + 8], ecx
jmp 0x4af3ca
lea ecx, [edi + 8]
mov eax, dword [esp + 0x14c]
mov edx, edi
mov edi, ecx
call fcn.0045e710
mov edi, edx
mov ecx, dword [esp + 0xa8]
mov dword [edi + 0x14], ecx
mov ecx, dword [0x84c7c0]
test ecx, ecx
jne 0x4af3ea
mov ecx, dword [esp + 0xdc]
mov dword [edi + 0x10], ecx
jmp 0x4af3ff
lea ecx, [edi + 0x10]
mov eax, dword [esp + 0xdc]
mov edx, edi
mov edi, ecx
call fcn.0045e710
mov edi, edx
mov dword [esp + 0xf8], edi
mov ecx, dword [esp + 0xa4]
mov dword [edi + 0x1c], ecx
mov ecx, dword [0x84c7c0]
test ecx, ecx
jne 0x4af426
mov eax, dword [esp + 0x100]
mov dword [edi + 0x18], eax
jmp 0x4af437
lea ecx, [edi + 0x18]
mov eax, dword [esp + 0x100]
mov edi, ecx
call fcn.0045e710
mov dword [esp], 0
lea eax, [0x660edb]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov eax, dword [esp + 0xe8]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x10], eax
lea eax, [0x663639]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0xd
call fcn.0044aae0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0xf8]
mov dword [edx + 0x24], ecx
mov ecx, dword [0x84c7c0]
test ecx, ecx
jne 0x4af49b
mov dword [edx + 0x20], eax
jmp 0x4af4a3
lea edi, [edx + 0x20]
call fcn.0045e710
lea edi, [esp + 0x15c]
xor eax, eax
call fcn.0045e9bb
lea ecx, [0x6c36a4]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], edx
add esp, 0x140
ret
mov dword [esp + 0x54], eax
mov dword [esp + 0x5c], ebp
mov dword [esp + 0xe8], edi
mov dword [esp + 0x68], esi
mov eax, dword [esp + 0xdc]
movzx esi, byte [esp + 0x36]
movzx edi, byte [esp + 0x37]
mov ebp, edx
mov edx, dword [esp + 0xa8]
mov edx, ecx
mov ecx, ebx
mov ebx, edx
mov edx, dword [esp + 0xa8]
jmp 0x4ae060
inc eax
cmp eax, ecx
jge 0x4af522
jae 0x4af59d
movzx ebx, byte [eax + edx]
add ebx, 0xffffffd0
cmp bl, 9
jbe 0x4af50b
mov dword [esp + 0x70], eax
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004afb70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x58]
cmp ebp, esi
ja 0x4af594
sub esi, ebp
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ebp, esi
mov esi, dword [esp + 0xe4]
add ebp, esi
mov esi, eax
mov eax, dword [esp + 0xa0]
mov eax, ecx
mov ecx, edi
mov edi, eax
mov eax, dword [esp + 0xa0]
mov eax, ebp
mov ebp, edx
mov edx, ebx
mov ebx, eax
mov eax, dword [esp + 0xa0]
jmp 0x4af4cc
mov eax, ebp
mov ecx, esi
call fcn.0045e7f0
call fcn.0045e790
inc ebp
cmp ebp, 2
jge 0x4af5ca
cmp ecx, 0x10a
jne 0x4af5a2
test ebx, ebx
jle 0x4af5a2
cmp byte [esi], 0x20
jne 0x4af5a2
dec ebx
mov edi, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
add esi, ebx
mov ebx, edi
jmp 0x4af5a2
xor ebp, ebp
xor edi, edi
jmp 0x4af5e1
inc ebp
lea edi, [edi + edi*4]
movzx edx, dl
lea edi, [edx + edi*2]
mov edx, dword [esp + 0xa8]
cmp ebp, 3
jge 0x4af604
cmp ebp, ebx
jge 0x4af600
jae 0x4af650
movzx edx, byte [ebp + esi]
add edx, 0xffffffd0
cmp dl, 9
jbe 0x4af5d0
mov edx, dword [esp + 0xa8]
test ebp, ebp
je 0x4af611
cmp ecx, 0x10b
jne 0x4af61b
cmp ebp, 3
je 0x4af61b
mov ecx, dword [0x825498]
xor edi, edi
jmp 0x4af630
cmp ebp, ebx
ja 0x4af647
sub ebx, ebp
mov ecx, ebx
neg ebx
sar ebx, 0x1f
and ebx, ebp
add esi, ebx
mov ebx, ecx
xor ecx, ecx
mov dword [esp + 0x48], edi
movzx edi, byte [esp + 0x37]
mov ebp, ecx
mov ecx, esi
movzx esi, byte [esp + 0x36]
jmp 0x4ae060
mov eax, ebp
mov ecx, ebx
call fcn.0045e7f0
mov eax, ebp
mov ecx, ebx
call fcn.0045e790
mov ecx, ebp
cmp ecx, 9
jge 0x4af67a
lea ebp, [ecx + 1]
cmp ebx, ebp
jle 0x4af67a
movzx edi, byte [ecx + esi + 1]
xchg edi, eax
cmp al, 0x30
xchg edi, eax
jb 0x4af67a
xchg edi, eax
cmp al, 0x39
xchg edi, eax
jbe 0x4af659
mov dword [esp + 0x80], ecx
mov dword [esp], esi
mov dword [esp + 4], ebx
lea eax, [ecx + 1]
mov dword [esp + 0xa4], eax
mov dword [esp + 8], eax
call fcn.004afb70
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0xa4]
cmp ebp, esi
jb 0x4af70f
mov edi, dword [esp + 0x80]
sub ebp, edi
dec ebp
mov edi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, esi
mov esi, dword [esp + 0x100]
add ebp, esi
movzx esi, byte [esp + 0x36]
mov dword [esp + 0x5c], ebx
mov dword [esp + 0xe8], edx
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0xa8]
mov ecx, ebp
mov ebx, edi
movzx edi, byte [esp + 0x37]
mov ebp, eax
mov eax, dword [esp + 0xdc]
jmp 0x4ae060
mov eax, esi
mov ecx, ebp
call fcn.0045e7f0
mov eax, esi
mov ecx, ebp
call fcn.0045e7f0
call fcn.0045e7b0
mov eax, ebp
mov ecx, edx
call fcn.0045e7f0
mov ecx, edx
mov edx, ebx
call fcn.0045e7b0
nop
call fcn.0045d2d0
jmp fcn.004ad100