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

Disassembly:
push ebp
push ebx
push edi
mov edx, 0x29
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x4a25e2
call fcn.005b13d0
mov dword [esp], 0
mov dword [esp + 8], 0
mov dword [esp + 0x24], 0
mov ebp, dword [esp + 0xb4]
cmp byte [ebp + 0x3c], 0
je 0x4a261c
xor eax, eax
jmp 0x4a2621
mov eax, 1
and eax, eax
je 0x4a6337
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x28]
call fcn.005860b6
push eax
call fcn.0059f665
push 1
call fcn.0059f6ca
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x34]
call fcn.005b0639
push eax
call fcn.0059f6fa
call fcn.0059f728
mov dword [esp + 0x9c], eax
call fcn.0059f8fe
mov dword [esp + 0xa0], eax
cmp byte [esp + 0xb8], 0
je 0x4a26b1
push 0xff
push 0xff
push 0xff
call fcn.0059f89e
push eax
push dword [esp + 0xa4]
push dword [esp + 0xa4]
push 0
push 0
call fcn.0059f8b3
mov ebp, dword [esp + 0xb4]
mov eax, dword [ebp + 0x130]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 8]
cmp ebx, dword [esp + 0xa0]
jge 0x4a281b
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0xb4]
cmp ebx, dword [ebp + 0x174]
jge 0x4a2810
mov ebp, dword [esp + 0xb4]
push ebp
mov ebx, dword [esp + 0x18]
pop ebp
mov ebp, dword [ebp + 0x18a]
shl ebx, 2
mov eax, dword [ebp + ebx]
mov dword [esp + 0x1c], eax
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov eax, dword [esp + 0x28]
cdq
push edx
push eax
call fcn.005adc10
call fcn.005b1360
mov ebp, dword [esp + 0xbc]
push dword [ebp + 0x182]
call fcn.0054d542
add dword [esp + 4], edx
call fcn.0059b3ed
call fcn.0054d560
and eax, eax
je 0x4a27a3
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x182]
mov ebp, dword [ebp]
movsx ebx, word [ebp + 0xa]
add ebx, 0x12
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x20]
cmp ebx, dword [esp + 0x24]
jle 0x4a2782
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x182]
mov ebp, dword [ebp]
movsx ecx, word [ebp + 8]
add ebx, ecx
inc ebx
mov dword [esp + 8], ebx
jmp 0x4a280a
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov eax, dword [esp + 0x20]
cdq
push edx
push eax
call fcn.005adc10
call fcn.0054d542
add dword [esp], edx
call fcn.0059f711
call fcn.0054d560
mov ebx, eax
add ebx, 0x12
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x20]
cmp ebx, dword [esp + 0x24]
jle 0x4a27f4
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0xb4]
add ebx, dword [ebp + 0xd4]
inc ebx
mov dword [esp + 8], ebx
inc dword [esp + 0x14]
jmp 0x4a2816
inc dword [esp + 0x14]
jmp 0x4a281b
jmp 0x4a26c2
mov ebx, dword [esp + 0x24]
and ebx, ebx
jne 0x4a283b
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0x170]
and ebx, ebx
jle 0x4a283b
mov eax, 1
jmp 0x4a283d
xor eax, eax
and eax, eax
je 0x4a2849
mov dword [esp + 0x24], 0xf
mov ebx, dword [esp + 0x14]
add ebx, 0xfffffffe
push ebx
mov ebp, dword [esp + 0xb8]
pop eax
mov dword [ebp + 0x134], eax
mov ebp, dword [esp + 0xb4]
movsx ebx, byte [ebp + 0xea]
cmp ebx, 1
jne 0x4a2884
mov ebp, dword [esp + 0xb4]
mov word [ebp + 0xe8], 0
jmp 0x4a2897
push dword [esp + 0x24]
mov ebp, dword [esp + 0xb8]
pop eax
mov word [ebp + 0xe8], ax
cmp byte [esp + 0xb8], 0
je 0x4a2904
mov ebp, dword [esp + 0xb4]
cmp byte [ebp + 0xea], 0
je 0x4a28b5
xor eax, eax
jmp 0x4a28ba
mov eax, 1
and eax, eax
je 0x4a28cd
mov ebx, dword [esp + 0x24]
and ebx, ebx
jle 0x4a28cd
mov eax, 1
jmp 0x4a28cf
xor eax, eax
and eax, eax
je 0x4a28f7
mov ebp, dword [esp + 0xb4]
cmp byte [ebp + 0xed], 0
je 0x4a28e7
xor eax, eax
jmp 0x4a28ec
mov eax, 1
and eax, eax
je 0x4a28f7
mov eax, 1
jmp 0x4a28f9
xor eax, eax
and eax, eax
je 0x4a2904
mov eax, 1
jmp 0x4a2906
xor eax, eax
and eax, eax
je 0x4a2a3b
mov ebp, dword [esp + 0xb4]
push dword [ebp]
call fcn.0059f6e1
mov ebp, dword [esp + 0xb4]
movsx eax, word [ebp + 0xeb]
push eax
push dword [esp + 0x28]
push 0
push 0
call fcn.005a0256
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x10]
mov ebp, dword [esp + 0xb8]
movsx ebx, word [ebp + 0xeb]
add ebx, 0xfffffff2
push ebx
mov ebx, dword [esp + 0x2c]
add ebx, 0xfffffffc
push ebx
mov ebp, dword [esp + 0xc0]
movsx ebx, word [ebp + 0xeb]
add ebx, 0xfffffffd
push ebx
mov ebx, dword [esp + 0x34]
add ebx, 0xfffffff1
push ebx
call fcn.0059f973
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x10]
mov ebp, dword [esp + 0xb8]
movsx ebx, word [ebp + 0xeb]
add ebx, 0xfffffffd
push ebx
mov ebx, dword [esp + 0x2c]
add ebx, 0xfffffffc
push ebx
mov ebp, dword [esp + 0xc0]
movsx ebx, word [ebp + 0xeb]
add ebx, 0xfffffff2
push ebx
mov ebx, dword [esp + 0x34]
add ebx, 0xfffffffc
push ebx
call fcn.0059f973
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x10]
mov ebp, dword [esp + 0xb8]
movsx ebx, word [ebp + 0xeb]
add ebx, 0xfffffffd
push ebx
mov ebx, dword [esp + 0x2c]
add ebx, 0xfffffffc
push ebx
mov ebp, dword [esp + 0xc0]
movsx ebx, word [ebp + 0xeb]
add ebx, 0xfffffffd
push ebx
mov ebx, dword [esp + 0x34]
add ebx, 0xfffffff1
push ebx
call fcn.0059f973
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x10]
mov ebp, dword [esp + 0xb8]
push dword [ebp + 0x10]
mov ebp, dword [esp + 0xbc]
movsx ebx, word [ebp + 0xeb]
add ebx, 0xfffffffc
push ebx
mov ebx, dword [esp + 0x30]
add ebx, 0xfffffffb
push ebx
call fcn.005a04fd
mov ebp, dword [esp + 0xb4]
mov eax, dword [ebp + 0x128]
mov dword [esp + 0x10], eax
mov ebp, dword [esp + 0xb4]
cmp byte [ebp + 0xea], 0
je 0x4a2a60
xor eax, eax
jmp 0x4a2a65
mov eax, 1
and eax, eax
je 0x4a2a7d
mov ebp, dword [esp + 0xb4]
movsx ebx, word [ebp + 0xe8]
inc ebx
mov dword [esp], ebx
jmp 0x4a2a84
mov dword [esp], 0
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x30]
push eax
push dword [esp + 0xbc]
call fcn.004445b4
mov ebx, dword [esp]
cmp ebx, dword [esp + 0x9c]
jge 0x4a44c4
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0xb4]
cmp ebx, dword [ebp + 0x170]
jge 0x4a44b9
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x34]
call fcn.005b0639
push eax
call fcn.0059f6fa
mov ebp, dword [esp + 0xb4]
push ebp
mov ebx, dword [esp + 0x14]
pop ebp
mov ebp, dword [ebp + 0x186]
shl ebx, 2
mov eax, dword [ebp + ebx]
mov dword [esp + 0x18], eax
push dword [esp + 0x10]
push dword [esp + 0xb8]
call fcn.0046acf1
mov byte [esp + 0x30], al
cmp byte [esp + 0xb8], 0
je 0x4a2e98
mov ebp, dword [esp + 0xb4]
cmp byte [ebp + 0xed], 0
je 0x4a2b2a
xor eax, eax
jmp 0x4a2b2f
mov eax, 1
and eax, eax
je 0x4a2e98
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov eax, dword [esp + 0x24]
cdq
push edx
push eax
call fcn.005adc10
call fcn.005b1360
mov ebp, dword [esp + 0xbc]
push dword [ebp + 0x17e]
call fcn.0054d542
add dword [esp + 4], edx
call fcn.0059b3ed
call fcn.0054d560
and eax, eax
je 0x4a2d83
cmp byte [esp + 0x30], 0
je 0x4a2ba0
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0xc]
call fcn.0059f6e1
jmp 0x4a2baf
mov ebp, dword [esp + 0xb4]
push dword [ebp]
call fcn.0059f6e1
mov ebp, dword [esp + 0xb4]
movsx eax, word [ebp + 0xeb]
push eax
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17e]
mov ebp, dword [ebp]
movsx eax, word [ebp + 8]
push eax
push 0
push dword [esp + 0xc]
call fcn.005a0256
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17e]
mov ebp, dword [ebp]
push dword [ebp + 0xc]
mov edx, 0x72b0ec
pop ecx
call fcn.0054d570
jne 0x4a2c2e
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17e]
mov ebp, dword [ebp]
mov edx, dword [ebp + 0xc]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
lea eax, [esp + 0x38]
push eax
call fcn.005b12d0
jmp 0x4a2c49
push edx
call fcn.005b1230
pop edx
push eax
push dword [esp + 0x14]
call fcn.004677e0
lea eax, [esp + 0x38]
push eax
call fcn.005b12d0
cmp byte [esp + 0x30], 0
je 0x4a2c61
mov ebp, dword [esp + 0xb4]
push dword [ebp + 8]
call fcn.0059f6e1
jmp 0x4a2c70
mov ebp, dword [esp + 0xb4]
push dword [ebp + 4]
call fcn.0059f6e1
push dword [esp + 0x34]
push 4
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0xbc]
mov ebp, dword [ebp + 0x17e]
mov ebp, dword [ebp]
movsx edi, word [ebp + 8]
mov ebp, dword [esp + 0xbc]
mov ebp, dword [ebp + 0x17e]
mov ebp, dword [ebp]
movsx ecx, word [ebp + 0xa]
sub edi, ecx
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
add ebx, edi
push ebx
call fcn.0059f73b
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17e]
mov ebp, dword [ebp]
cmp dword [ebp + 0x17], 0
je 0x4a2d25
mov ebp, dword [esp + 0xb4]
movsx ebx, word [ebp + 0xeb]
add ebx, 0xfffffff0
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, eax
push ebx
mov ebx, dword [esp + 4]
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17e]
mov ebp, dword [ebp]
movsx ecx, word [ebp + 8]
add ebx, ecx
add ebx, 0xffffffef
push ebx
mov ebp, dword [esp + 0xbc]
mov ebp, dword [ebp + 0x17e]
mov ebp, dword [ebp]
push dword [ebp + 0x17]
call fcn.005a01fe
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x14]
mov ebp, dword [esp + 0xb8]
movsx eax, word [ebp + 0xeb]
push eax
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0xbc]
mov ebp, dword [ebp + 0x17e]
mov ebp, dword [ebp]
movsx ecx, word [ebp + 8]
add ebx, ecx
push ebx
push 0
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0xc4]
mov ebp, dword [ebp + 0x17e]
mov ebp, dword [ebp]
movsx ecx, word [ebp + 8]
add ebx, ecx
push ebx
call fcn.0059f973
jmp 0x4a2e98
cmp byte [esp + 0x30], 0
je 0x4a2d9b
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0xc]
call fcn.0059f6e1
jmp 0x4a2daa
mov ebp, dword [esp + 0xb4]
push dword [ebp]
call fcn.0059f6e1
mov ebp, dword [esp + 0xb4]
movsx eax, word [ebp + 0xeb]
push eax
mov ebp, dword [esp + 0xb8]
push dword [ebp + 0xd8]
push 0
push dword [esp + 0xc]
call fcn.005a0256
cmp byte [esp + 0x30], 0
je 0x4a2dec
mov ebp, dword [esp + 0xb4]
push dword [ebp + 8]
call fcn.0059f6e1
jmp 0x4a2dfb
mov ebp, dword [esp + 0xb4]
push dword [ebp + 4]
call fcn.0059f6e1
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
push dword [esp + 0x18]
call fcn.004677e0
call fcn.005b1360
push 4
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0xc0]
mov edi, dword [ebp + 0xd8]
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
add ebx, edi
push ebx
call fcn.0054d542
add dword [esp + 8], edx
call fcn.0059f73b
call fcn.0054d560
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x14]
mov ebp, dword [esp + 0xb8]
movsx eax, word [ebp + 0xeb]
push eax
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0xbc]
add ebx, dword [ebp + 0xd8]
push ebx
push 0
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0xc4]
add ebx, dword [ebp + 0xd8]
push ebx
call fcn.0059f973
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov eax, dword [esp + 0x24]
cdq
push edx
push eax
call fcn.005adc10
call fcn.005b1360
mov ebp, dword [esp + 0xbc]
push dword [ebp + 0x17e]
call fcn.0054d542
add dword [esp + 4], edx
call fcn.0059b3ed
call fcn.0054d560
and eax, eax
je 0x4a2f05
mov ebx, dword [esp]
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17e]
mov ebp, dword [ebp]
movsx ecx, word [ebp + 8]
add ebx, ecx
inc ebx
mov dword [esp + 4], ebx
jmp 0x4a2f1a
mov ebx, dword [esp]
mov ebp, dword [esp + 0xb4]
add ebx, dword [ebp + 0xd8]
inc ebx
mov dword [esp + 4], ebx
cmp byte [esp + 0xb8], 0
je 0x4a2faf
mov ebp, dword [esp + 0xb4]
cmp byte [ebp + 0x179], 0
je 0x4a2f3c
xor eax, eax
jmp 0x4a2f41
mov eax, 1
and eax, eax
je 0x4a2faf
mov ebp, dword [esp + 0xb4]
cmp byte [ebp + 0xed], 0
je 0x4a2f7e
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x18]
push dword [esp + 0xa4]
mov ebx, dword [esp + 0xc]
dec ebx
push ebx
push 0
mov ebx, dword [esp + 0x14]
dec ebx
push ebx
call fcn.0059f973
jmp 0x4a2faf
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x18]
push dword [esp + 0xa4]
mov ebx, dword [esp + 0xc]
dec ebx
push ebx
mov ebp, dword [esp + 0xc0]
movsx eax, word [ebp + 0xeb]
push eax
mov ebx, dword [esp + 0x14]
dec ebx
push ebx
call fcn.0059f973
mov ebp, dword [esp + 0xb4]
cmp byte [ebp + 0xed], 0
je 0x4a2fc9
mov dword [esp + 8], 0
jmp 0x4a2fdc
mov ebp, dword [esp + 0xb4]
movsx ebx, word [ebp + 0xeb]
inc ebx
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0xb4]
mov eax, dword [ebp + 0x130]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 8]
cmp ebx, dword [esp + 0xa0]
jge 0x4a44ac
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0xb4]
cmp ebx, dword [ebp + 0x174]
jge 0x4a449d
mov ebp, dword [esp + 0xb4]
push ebp
mov ebx, dword [esp + 0x18]
pop ebp
mov ebp, dword [ebp + 0x18a]
shl ebx, 2
mov eax, dword [ebp + ebx]
mov dword [esp + 0x1c], eax
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov eax, dword [esp + 0x28]
cdq
push edx
push eax
call fcn.005adc10
call fcn.005b1360
mov ebp, dword [esp + 0xbc]
push dword [ebp + 0x182]
call fcn.0054d542
add dword [esp + 4], edx
call fcn.0059b3ed
call fcn.0054d560
and eax, eax
je 0x4a30c8
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x182]
mov ebp, dword [ebp]
cmp byte [ebp + 0x14], 0
je 0x4a30a7
inc dword [esp + 0x14]
mov eax, dword [esp + 8]
mov dword [esp + 0xc], eax
jmp 0x4a2fed
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x182]
mov ebp, dword [ebp]
movsx ecx, word [ebp + 8]
add ebx, ecx
inc ebx
mov dword [esp + 0xc], ebx
jmp 0x4a30de
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0xb4]
add ebx, dword [ebp + 0xd4]
inc ebx
mov dword [esp + 0xc], ebx
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov eax, dword [esp + 0x20]
cdq
push edx
push eax
call fcn.005adc10
mov edx, 0x72ec6c
push edx
call fcn.005b1270
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov eax, dword [esp + 0x28]
cdq
push edx
push eax
call fcn.005adc10
pop eax
lea eax, [esp + 0x3c]
push eax
call fcn.005b12d0
cmp byte [esp + 0xb8], 0
je 0x4a339a
push dword [esp + 0x38]
mov ebp, dword [esp + 0xb8]
push dword [ebp + 0x17a]
call fcn.0059b3ed
and eax, eax
je 0x4a318b
push dword [esp + 0x14]
push dword [esp + 0x14]
push dword [esp + 0xbc]
call fcn.0053d31d
push eax
mov ebx, dword [esp + 0x10]
sub ebx, dword [esp + 0xc]
push ebx
mov ebx, dword [esp + 0xc]
sub ebx, dword [esp + 8]
dec ebx
push ebx
push dword [esp + 0x14]
push dword [esp + 0x10]
call fcn.0059f8b3
jmp 0x4a31b5
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x1c]
mov ebx, dword [esp + 0x10]
sub ebx, dword [esp + 0xc]
push ebx
mov ebx, dword [esp + 0xc]
sub ebx, dword [esp + 8]
dec ebx
push ebx
push dword [esp + 0x14]
push dword [esp + 0x10]
call fcn.0059f8b3
push dword [esp + 0x14]
push dword [esp + 0x14]
push dword [esp + 0xbc]
call fcn.00413914
and eax, eax
je 0x4a339a
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov eax, dword [esp + 0x24]
cdq
push edx
push eax
call fcn.005adc10
call fcn.005b1360
mov ebp, dword [esp + 0xbc]
push dword [ebp + 0x17e]
call fcn.0054d542
add dword [esp + 4], edx
call fcn.0059b3ed
call fcn.0054d560
and eax, eax
je 0x4a3238
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17e]
mov ebp, dword [ebp]
movsx eax, word [ebp + 8]
mov dword [esp + 0x20], eax
jmp 0x4a3249
mov ebp, dword [esp + 0xb4]
mov eax, dword [ebp + 0xd8]
mov dword [esp + 0x20], eax
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov eax, dword [esp + 0x28]
cdq
push edx
push eax
call fcn.005adc10
call fcn.005b1360
mov ebp, dword [esp + 0xbc]
push dword [ebp + 0x182]
call fcn.0054d542
add dword [esp + 4], edx
call fcn.0059b3ed
call fcn.0054d560
and eax, eax
je 0x4a32b0
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x182]
mov ebp, dword [ebp]
movsx eax, word [ebp + 8]
mov dword [esp + 0x3c], eax
jmp 0x4a32c1
mov ebp, dword [esp + 0xb4]
mov eax, dword [ebp + 0xd4]
mov dword [esp + 0x3c], eax
push 0x10
call fcn.0059f6ca
mov ebx, dword [esp + 0x14]
cmp ebx, dword [esp + 0x2c]
jne 0x4a32e6
mov ebx, dword [esp + 0x10]
cmp ebx, dword [esp + 0x28]
jne 0x4a32e6
mov eax, 1
jmp 0x4a32e8
xor eax, eax
and eax, eax
je 0x4a333f
push 0xc8
push 0xff
push 0xeb
push 0xd7
call fcn.005a0360
push eax
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0xb8]
movsx ecx, byte [ebp + 0x178]
add ebx, ecx
push ebx
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0xbc]
movsx ecx, byte [ebp + 0x179]
add ebx, ecx
push ebx
push dword [esp + 0x14]
push dword [esp + 0x10]
call fcn.0059f8b3
jmp 0x4a3390
push 0xc8
push 0xff
push 0xdc
push 0xb4
call fcn.005a0360
push eax
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0xb8]
movsx ecx, byte [ebp + 0x178]
add ebx, ecx
push ebx
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0xbc]
movsx ecx, byte [ebp + 0x179]
add ebx, ecx
push ebx
push dword [esp + 0x14]
push dword [esp + 0x10]
call fcn.0059f8b3
push 1
call fcn.0059f6ca
push dword [esp + 0x14]
push dword [esp + 0x14]
push dword [esp + 0xbc]
call fcn.004f812e
and eax, eax
je 0x4a3585
push dword [esp]
mov ebp, dword [esp + 0xb8]
pop dword [ebp + 0x10f]
push dword [esp + 4]
mov ebp, dword [esp + 0xb8]
pop dword [ebp + 0x117]
push dword [esp + 0xc]
mov ebp, dword [esp + 0xb8]
pop dword [ebp + 0x11b]
push dword [esp + 8]
mov ebp, dword [esp + 0xb8]
pop dword [ebp + 0x113]
push dword [esp + 0x14]
push dword [esp + 0x14]
push dword [esp + 0xbc]
call fcn.0051ca78
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], eax
push dword [esp + 0x38]
mov ebp, dword [esp + 0xb8]
push dword [ebp + 0x17a]
call fcn.0059b3ed
and eax, eax
je 0x4a3580
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, word [ebp + 8]
push ebx
mov ebx, 3
cmp ebx, dword [esp]
je 0x4a3460
mov ebx, 6
cmp ebx, dword [esp]
jne 0x4a3484
mov ebp, dword [esp + 0xb8]
mov ebx, dword [ebp + 0x117]
add ebx, 0xffffffea
push ebx
mov ebp, dword [esp + 0xbc]
pop eax
mov dword [ebp + 0x117], eax
jmp 0x4a357f
mov ebx, 5
cmp ebx, dword [esp]
jne 0x4a357f
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, byte [ebp + 0x17]
cmp ebx, 2
jne 0x4a3528
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0xb8]
mov edi, dword [ebp + 0x117]
mov ebp, dword [esp + 0xb8]
sub edi, dword [ebp + 0x10f]
cmp ebx, edi
jle 0x4a3526
dec dword [esp + 0x48]
mov ebx, dword [esp + 0x48]
and ebx, ebx
jge 0x4a34f6
mov ebp, dword [esp + 0xb8]
movsx eax, word [ebp + 0xe8]
mov ebp, dword [esp + 0xb8]
mov dword [ebp + 0x10f], eax
jmp 0x4a3526
mov ebp, dword [esp + 0xb8]
mov ebx, dword [ebp + 0x10f]
push dword [esp + 0x48]
push dword [esp + 0xbc]
call fcn.004cc47b
sub ebx, eax
push ebx
mov ebp, dword [esp + 0xbc]
pop eax
mov dword [ebp + 0x10f], eax
jmp 0x4a34ab
jmp 0x4a357f
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0xb8]
mov edi, dword [ebp + 0x117]
mov ebp, dword [esp + 0xb8]
sub edi, dword [ebp + 0x10f]
cmp ebx, edi
jle 0x4a357f
inc dword [esp + 0x48]
mov ebp, dword [esp + 0xb8]
mov ebx, dword [ebp + 0x117]
push dword [esp + 0x48]
push dword [esp + 0xbc]
call fcn.004cc47b
add ebx, eax
inc ebx
push ebx
mov ebp, dword [esp + 0xbc]
pop eax
mov dword [ebp + 0x117], eax
jmp 0x4a3528
pop eax
jmp 0x4a4497
cmp byte [esp + 0xb8], 0
je 0x4a4497
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov eax, dword [esp + 0x24]
cdq
push edx
push eax
call fcn.005adc10
mov edx, 0x72ec6c
push edx
call fcn.005b1270
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov eax, dword [esp + 0x2c]
cdq
push edx
push eax
call fcn.005adc10
pop eax
call fcn.005b1360
mov ebp, dword [esp + 0xbc]
push dword [ebp + 0x17a]
call fcn.0054d542
add dword [esp + 4], edx
call fcn.0059b3ed
call fcn.0054d560
and eax, eax
je 0x4a4497
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, word [ebp + 8]
push ebx
mov ebx, 4
cmp ebx, dword [esp]
jne 0x4a3680
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
cmp dword [ebp + 0xa], 0
je 0x4a367b
push dword [esp + 0x18]
push dword [esp + 0x18]
mov ebx, dword [esp + 0x18]
sub ebx, dword [esp + 0x14]
push ebx
mov ebx, dword [esp + 0x14]
sub ebx, dword [esp + 0x10]
push ebx
push dword [esp + 0x1c]
push dword [esp + 0x18]
mov ebp, dword [esp + 0xd0]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
push dword [ebp + 0xa]
call fcn.005748c8
jmp 0x4a4496
mov ebx, 1
cmp ebx, dword [esp]
jne 0x4a374e
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
mov ebx, dword [ebp + 0xa]
and ebx, ebx
jne 0x4a36f8
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
sub edi, dword [esp + 0xc]
add edi, 0xfffffff0
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
add ebx, edi
push ebx
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0xc]
sub edi, dword [esp + 8]
add edi, 0xfffffff0
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
add ebx, edi
push ebx
mov ebp, dword [esp + 0xc0]
push dword [ebp + 0x49]
call fcn.005a8f63
push eax
call fcn.0059fa48
jmp 0x4a3749
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
sub edi, dword [esp + 0xc]
add edi, 0xfffffff0
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
add ebx, edi
push ebx
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0xc]
sub edi, dword [esp + 8]
add edi, 0xfffffff0
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
add ebx, edi
push ebx
mov ebp, dword [esp + 0xc0]
push dword [ebp + 0x45]
call fcn.005a8f63
push eax
call fcn.0059fa48
jmp 0x4a4496
mov ebx, 2
cmp ebx, dword [esp]
je 0x4a3770
mov ebx, 6
cmp ebx, dword [esp]
je 0x4a3770
mov ebx, 3
cmp ebx, dword [esp]
jne 0x4a3e04
push dword [esp + 0x18]
push dword [esp + 0x18]
push dword [esp + 0xc0]
call fcn.004af407
mov dword [esp + 0x44], eax
push dword [esp + 0x18]
push dword [esp + 0x18]
push dword [esp + 0xc0]
call fcn.0050bf85
mov dword [esp + 0x40], eax
push dword [esp + 0x18]
push dword [esp + 0x18]
push dword [esp + 0xc0]
call fcn.0051ca78
mov dword [esp + 0x4c], eax
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, word [ebp + 8]
cmp ebx, 2
je 0x4a37ec
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, word [ebp + 8]
cmp ebx, 3
je 0x4a37ec
jmp 0x4a37f3
mov eax, 1
jmp 0x4a37f5
xor eax, eax
and eax, eax
je 0x4a3817
push dword [esp + 0xb8]
push dword [esp + 0x14]
push dword [esp + 0x14]
push dword [esp + 0x14]
push dword [esp + 0x14]
call fcn.004cb9b3
jmp 0x4a384c
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, word [ebp + 8]
cmp ebx, 6
jne 0x4a384c
push dword [esp + 0xb8]
push dword [esp + 0x14]
push dword [esp + 0x14]
push dword [esp + 0x14]
push dword [esp + 0x14]
call fcn.0041b77e
mov ebx, dword [esp + 8]
sub ebx, dword [esp + 4]
add ebx, 0xffffffea
mov dword [esp + 0x24], ebx
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, byte [ebp + 0x17]
cmp ebx, 1
jne 0x4a3892
mov ebx, dword [esp + 8]
sub ebx, dword [esp + 4]
sub ebx, dword [esp + 0x4c]
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, eax
mov dword [esp + 0x50], ebx
jmp 0x4a38eb
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, byte [ebp + 0x17]
cmp ebx, 2
jne 0x4a38d3
mov ebx, dword [esp + 8]
sub ebx, dword [esp + 4]
sub ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ecx, word [ebp + 0x19]
sub ebx, ecx
mov dword [esp + 0x50], ebx
jmp 0x4a38eb
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx eax, word [ebp + 0x19]
mov dword [esp + 0x50], eax
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, byte [ebp + 0x18]
cmp ebx, 2
jne 0x4a390e
mov dword [esp + 0x54], 0
jmp 0x4a3955
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, byte [ebp + 0x18]
cmp ebx, 1
jne 0x4a3945
mov ebx, dword [esp + 0x10]
sub ebx, dword [esp + 0xc]
sub ebx, dword [esp + 0x40]
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, eax
mov dword [esp + 0x54], ebx
jmp 0x4a3955
mov ebx, dword [esp + 0x10]
sub ebx, dword [esp + 0xc]
sub ebx, dword [esp + 0x40]
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0x54]
and ebx, ebx
jge 0x4a3965
mov dword [esp + 0x54], 0
mov ebx, dword [esp + 0x50]
and ebx, ebx
jge 0x4a3975
mov dword [esp + 0x50], 0
mov ebx, dword [esp + 0x4c]
cmp ebx, dword [esp + 0x24]
jle 0x4a3ab0
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
mov edx, dword [ebp + 0xe]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
lea eax, [esp + 0x64]
push eax
call fcn.005b12d0
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x5c], eax
mov edx, dword [esp + 0x60]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
lea eax, [esp + 0x5c]
push eax
call fcn.005b12d0
mov ebx, dword [esp + 0x5c]
cmp ebx, dword [esp + 0x24]
jle 0x4a3a67
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
push dword [esp + 0x60]
call fcn.005ade50
mov ebx, eax
dec ebx
push ebx
push dword [esp + 0x64]
call fcn.005adff0
mov ebp, dword [esp + 0xbc]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
lea eax, [ebp + 0xe]
push eax
call fcn.005b12d0
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
mov edx, dword [ebp + 0xe]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
lea eax, [esp + 0x5c]
push eax
call fcn.005b12d0
push dword [esp + 0x18]
push dword [esp + 0x18]
push dword [esp + 0xc0]
call fcn.0051ca78
mov dword [esp + 0x5c], eax
jmp 0x4a39d2
mov edx, dword [esp + 0x60]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
mov ebp, dword [esp + 0xbc]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
lea eax, [ebp + 0xe]
push eax
call fcn.005b12d0
mov edx, dword [esp + 0x58]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
lea eax, [esp + 0x64]
push eax
call fcn.005b12d0
jmp 0x4a3adb
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
mov edx, dword [ebp + 0xe]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
lea eax, [esp + 0x64]
push eax
call fcn.005b12d0
mov ebx, dword [esp + 4]
add ebx, dword [esp + 0x50]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], 1
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
push dword [ebp + 0x18]
call fcn.005a9d3a
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
push dword [ebp + 0x18]
call fcn.005a9d4f
or eax, eax
je 0x4a3dff
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov edx, dword [ebp + 0xc]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov ebp, dword [esp + 0xc4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
movsx eax, word [ebp + 0x10]
cdq
push edx
push eax
call fcn.005adc10
pop eax
lea eax, [esp + 0x68]
push eax
call fcn.005b12d0
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x12]
and ebx, 0x100
and ebx, ebx
je 0x4a3bdb
mov edx, dword [esp + 0x64]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
mov edx, 0x72dffc
push edx
call fcn.005b1270
lea eax, [esp + 0x68]
push eax
call fcn.005b12d0
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x12]
and ebx, 0x200
and ebx, ebx
je 0x4a3c25
mov edx, dword [esp + 0x64]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
mov edx, 0x72e460
push edx
call fcn.005b1270
lea eax, [esp + 0x68]
push eax
call fcn.005b12d0
push dword [esp + 0x64]
push dword [0x7c35b0]
call fcn.0059b3ed
and eax, eax
je 0x4a3c4f
mov ebp, dword [0x7c35b0]
mov ebp, dword [ebp]
push dword [ebp + 0x12]
call fcn.005b0639
push eax
call fcn.0059f6fa
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov ebp, dword [esp + 0xc0]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov ebx, dword [ebp + 8]
sub ebx, dword [esp + 0x74]
inc ebx
push ebx
push dword [esp + 0x78]
push dword [esp + 0x70]
call fcn.005ae0f0
lea eax, [esp + 0x74]
push eax
call fcn.005b12d0
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
push dword [ebp + 0x16]
push dword [esp + 0x74]
mov ebx, dword [esp + 0x14]
add ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0xc0]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
movsx edi, word [ebp + 0x10]
mov dword [esp - 4], edi
fild dword [esp - 4]
fdiv qword [0x74c2a0]
mov dword [esp - 4], ebx
fild dword [esp - 4]
fxch st(1)
fsubp st(1)
fiadd dword [esp + 0x5c]
fadd qword [0x74c210]
push eax
fistp dword [esp]
push dword [esp + 0x74]
call fcn.0059fa75
mov dword [esp + 0x74], eax
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x12]
and ebx, 4
and ebx, ebx
je 0x4a3d69
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
push dword [ebp + 0x16]
push 1
mov ebx, dword [esp + 0x7c]
sub ebx, dword [esp + 0x70]
push ebx
mov ebx, dword [esp + 0x18]
add ebx, dword [esp + 0x60]
add ebx, dword [esp + 0x4c]
add ebx, 0xfffffffe
push ebx
push dword [esp + 0x78]
call fcn.0059f824
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x12]
and ebx, 8
and ebx, ebx
je 0x4a3dd4
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
push dword [ebp + 0x16]
push 1
mov ebx, dword [esp + 0x7c]
sub ebx, dword [esp + 0x70]
push ebx
mov ebx, dword [esp + 0x18]
add ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x4c]
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
add ebx, edi
push ebx
push dword [esp + 0x78]
call fcn.0059f824
mov eax, dword [esp + 0x74]
mov dword [esp + 0x68], eax
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov ebx, dword [ebp + 8]
inc ebx
mov dword [esp + 0x6c], ebx
jmp 0x4a3b0a
jmp 0x4a4496
mov ebx, 5
cmp ebx, dword [esp]
je 0x4a3e19
xor ebx, ebx
cmp ebx, dword [esp]
jne 0x4a4496
push dword [esp + 0x18]
push dword [esp + 0x18]
push dword [esp + 0xc0]
call fcn.004af407
mov dword [esp + 0x44], eax
push dword [esp + 0x18]
push dword [esp + 0x18]
push dword [esp + 0xc0]
call fcn.0050bf85
mov dword [esp + 0x40], eax
push dword [esp + 0x18]
push dword [esp + 0x18]
push dword [esp + 0xc0]
call fcn.0051ca78
mov dword [esp + 0x4c], eax
mov ebx, dword [esp + 8]
sub ebx, dword [esp + 4]
mov dword [esp + 0x24], ebx
push dword [esp + 0x18]
push dword [esp + 0x18]
push dword [esp + 0xc0]
call fcn.00413914
and eax, eax
je 0x4a3ea7
push 0xc8
push 0xff
push 0xeb
push 0xd7
call fcn.005a0360
mov dword [esp + 0x9c], eax
jmp 0x4a3eb2
mov dword [esp + 0x9c], 0
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, byte [ebp + 0x17]
cmp ebx, 1
jne 0x4a3ee9
mov ebx, dword [esp + 8]
sub ebx, dword [esp + 4]
sub ebx, dword [esp + 0x4c]
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, eax
mov dword [esp + 0x50], ebx
jmp 0x4a3f42
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, byte [ebp + 0x17]
cmp ebx, 2
jne 0x4a3f2a
mov ebx, dword [esp + 8]
sub ebx, dword [esp + 4]
sub ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ecx, word [ebp + 0x19]
sub ebx, ecx
mov dword [esp + 0x50], ebx
jmp 0x4a3f42
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx eax, word [ebp + 0x19]
mov dword [esp + 0x50], eax
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, byte [ebp + 0x18]
cmp ebx, 2
jne 0x4a3f65
mov dword [esp + 0x54], 0
jmp 0x4a3fac
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, byte [ebp + 0x18]
cmp ebx, 1
jne 0x4a3f9c
mov ebx, dword [esp + 0x10]
sub ebx, dword [esp + 0xc]
sub ebx, dword [esp + 0x40]
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, eax
mov dword [esp + 0x54], ebx
jmp 0x4a3fac
mov ebx, dword [esp + 0x10]
sub ebx, dword [esp + 0xc]
sub ebx, dword [esp + 0x40]
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0x54]
and ebx, ebx
jge 0x4a3fbc
mov dword [esp + 0x54], 0
mov ebx, dword [esp + 0x50]
and ebx, ebx
jge 0x4a3fcc
mov dword [esp + 0x50], 0
mov ebx, dword [esp + 0x4c]
cmp ebx, dword [esp + 0x24]
jle 0x4a4107
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
mov edx, dword [ebp + 0xe]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
lea eax, [esp + 0x64]
push eax
call fcn.005b12d0
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x5c], eax
mov edx, dword [esp + 0x60]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
lea eax, [esp + 0x5c]
push eax
call fcn.005b12d0
mov ebx, dword [esp + 0x5c]
cmp ebx, dword [esp + 0x24]
jle 0x4a40be
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
push dword [esp + 0x60]
call fcn.005ade50
mov ebx, eax
dec ebx
push ebx
push dword [esp + 0x64]
call fcn.005adff0
mov ebp, dword [esp + 0xbc]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
lea eax, [ebp + 0xe]
push eax
call fcn.005b12d0
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
mov edx, dword [ebp + 0xe]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
lea eax, [esp + 0x5c]
push eax
call fcn.005b12d0
push dword [esp + 0x18]
push dword [esp + 0x18]
push dword [esp + 0xc0]
call fcn.0051ca78
mov dword [esp + 0x5c], eax
jmp 0x4a4029
mov edx, dword [esp + 0x60]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
mov ebp, dword [esp + 0xbc]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
lea eax, [ebp + 0xe]
push eax
call fcn.005b12d0
mov edx, dword [esp + 0x58]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
lea eax, [esp + 0x64]
push eax
call fcn.005b12d0
jmp 0x4a4132
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
mov edx, dword [ebp + 0xe]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
lea eax, [esp + 0x64]
push eax
call fcn.005b12d0
mov ebx, dword [esp + 4]
add ebx, dword [esp + 0x50]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], 1
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
push dword [ebp + 0x18]
call fcn.005a9d3a
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
push dword [ebp + 0x18]
call fcn.005a9d4f
or eax, eax
je 0x4a4496
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov edx, dword [ebp + 0xc]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov ebp, dword [esp + 0xc4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
movsx eax, word [ebp + 0x10]
cdq
push edx
push eax
call fcn.005adc10
pop eax
lea eax, [esp + 0x68]
push eax
call fcn.005b12d0
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x12]
and ebx, 0x100
and ebx, ebx
je 0x4a4232
mov edx, dword [esp + 0x64]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
mov edx, 0x72dffc
push edx
call fcn.005b1270
lea eax, [esp + 0x68]
push eax
call fcn.005b12d0
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x12]
and ebx, 0x200
and ebx, ebx
je 0x4a427c
mov edx, dword [esp + 0x64]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
mov edx, 0x72e460
push edx
call fcn.005b1270
lea eax, [esp + 0x68]
push eax
call fcn.005b12d0
push dword [esp + 0x64]
push dword [0x7c35b0]
call fcn.0059b3ed
and eax, eax
je 0x4a42a6
mov ebp, dword [0x7c35b0]
mov ebp, dword [ebp]
push dword [ebp + 0x12]
call fcn.005b0639
push eax
call fcn.0059f6fa
mov ebx, dword [esp + 0x9c]
and ebx, ebx
je 0x4a42d8
push 0xc8
push 0xff
push 0xeb
push 0xd7
call fcn.005a0360
mov ebx, eax
xor ebx, 0xffffffff
mov dword [esp + 0x98], ebx
jmp 0x4a42f8
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x16]
mov dword [esp + 0x98], eax
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov ebp, dword [esp + 0xc0]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov ebx, dword [ebp + 8]
sub ebx, dword [esp + 0x74]
inc ebx
push ebx
push dword [esp + 0x78]
push dword [esp + 0x70]
call fcn.005ae0f0
lea eax, [esp + 0x74]
push eax
call fcn.005b12d0
push dword [esp + 0x98]
push dword [esp + 0x74]
mov ebx, dword [esp + 0x14]
add ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0xc0]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
movsx edi, word [ebp + 0x10]
mov dword [esp - 4], edi
fild dword [esp - 4]
fdiv qword [0x74c2a0]
mov dword [esp - 4], ebx
fild dword [esp - 4]
fxch st(1)
fsubp st(1)
fiadd dword [esp + 0x5c]
fadd qword [0x74c210]
push eax
fistp dword [esp]
push dword [esp + 0x74]
call fcn.0059fa75
mov dword [esp + 0x74], eax
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x12]
and ebx, 4
and ebx, ebx
je 0x4a4400
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
push dword [ebp + 0x16]
push 1
mov ebx, dword [esp + 0x7c]
sub ebx, dword [esp + 0x70]
push ebx
mov ebx, dword [esp + 0x18]
add ebx, dword [esp + 0x60]
add ebx, dword [esp + 0x4c]
add ebx, 0xfffffffe
push ebx
push dword [esp + 0x78]
call fcn.0059f824
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x12]
and ebx, 8
and ebx, ebx
je 0x4a446b
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
push dword [ebp + 0x16]
push 1
mov ebx, dword [esp + 0x7c]
sub ebx, dword [esp + 0x70]
push ebx
mov ebx, dword [esp + 0x18]
add ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x4c]
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
add ebx, edi
push ebx
push dword [esp + 0x78]
call fcn.0059f824
mov eax, dword [esp + 0x74]
mov dword [esp + 0x68], eax
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov ebx, dword [ebp + 8]
inc ebx
mov dword [esp + 0x6c], ebx
jmp 0x4a4161
pop eax
inc dword [esp + 0x14]
jmp 0x4a449f
jmp 0x4a44ac
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jmp 0x4a2fed
mov eax, dword [esp + 4]
mov dword [esp], eax
inc dword [esp + 0x10]
jmp 0x4a44bf
inc dword [esp + 0x10]
jmp 0x4a44c4
jmp 0x4a2a9a
mov ebx, dword [esp + 0x10]
dec ebx
push ebx
mov ebp, dword [esp + 0xb8]
pop eax
mov dword [ebp + 0x12c], eax
cmp byte [esp + 0xb8], 0
je 0x4a4bcd
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0x170]
and ebx, ebx
jle 0x4a451b
mov ebp, dword [esp + 0xb4]
cmp byte [ebp + 0xed], 0
je 0x4a450b
xor eax, eax
jmp 0x4a4510
mov eax, 1
and eax, eax
je 0x4a451b
mov eax, 1
jmp 0x4a451d
xor eax, eax
and eax, eax
je 0x4a4546
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x14]
push 0x15
push dword [esp + 0xa4]
push 0x15
push 0
call fcn.0059f973
mov ebp, dword [esp + 0xb4]
cmp byte [ebp + 0xed], 0
je 0x4a4560
mov dword [esp + 8], 0
jmp 0x4a4573
mov ebp, dword [esp + 0xb4]
movsx ebx, word [ebp + 0xeb]
inc ebx
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0xb4]
mov eax, dword [ebp + 0x130]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 8]
cmp ebx, dword [esp + 0xa0]
jge 0x4a4ab6
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0xb4]
cmp ebx, dword [ebp + 0x174]
jge 0x4a4aaf
mov ebx, dword [esp + 0x24]
inc ebx
mov dword [esp], ebx
mov ebp, dword [esp + 0xb4]
mov eax, dword [ebp + 0x128]
mov dword [esp + 0x10], eax
mov ebp, dword [esp + 0xb4]
push ebp
mov ebx, dword [esp + 0x18]
pop ebp
mov ebp, dword [ebp + 0x18a]
shl ebx, 2
mov eax, dword [ebp + ebx]
mov dword [esp + 0x1c], eax
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov eax, dword [esp + 0x28]
cdq
push edx
push eax
call fcn.005adc10
call fcn.005b1360
mov ebp, dword [esp + 0xbc]
push dword [ebp + 0x182]
call fcn.0054d542
add dword [esp + 4], edx
call fcn.0059b3ed
call fcn.0054d560
and eax, eax
je 0x4a4651
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x182]
mov ebp, dword [ebp]
movsx ecx, word [ebp + 8]
add ebx, ecx
inc ebx
mov dword [esp + 0xc], ebx
jmp 0x4a4667
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0xb4]
add ebx, dword [ebp + 0xd4]
inc ebx
mov dword [esp + 0xc], ebx
push dword [esp + 0x14]
push dword [esp + 0xb8]
call fcn.004e9a65
mov byte [esp + 0x74], al
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x34]
call fcn.005b0639
push eax
call fcn.0059f6fa
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov eax, dword [esp + 0x28]
cdq
push edx
push eax
call fcn.005adc10
call fcn.005b1360
mov ebp, dword [esp + 0xbc]
push dword [ebp + 0x182]
call fcn.0054d542
add dword [esp + 4], edx
call fcn.0059b3ed
call fcn.0054d560
and eax, eax
je 0x4a4900
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x182]
mov ebp, dword [ebp]
cmp byte [ebp + 0x14], 0
je 0x4a4708
inc dword [esp + 0x14]
mov eax, dword [esp + 8]
mov dword [esp + 0xc], eax
jmp 0x4a4584
mov ebp, dword [esp + 0xb4]
cmp byte [ebp + 0xea], 0
je 0x4a471c
xor eax, eax
jmp 0x4a4721
mov eax, 1
and eax, eax
je 0x4a48dc
cmp byte [esp + 0x74], 0
je 0x4a4741
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0xc]
call fcn.0059f6e1
jmp 0x4a4750
mov ebp, dword [esp + 0xb4]
push dword [ebp]
call fcn.0059f6e1
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x182]
mov ebp, dword [ebp]
movsx eax, word [ebp + 8]
push eax
push dword [esp + 0x28]
push dword [esp + 0x10]
push 0
call fcn.005a0256
cmp byte [esp + 0x74], 0
je 0x4a478f
mov ebp, dword [esp + 0xb4]
push dword [ebp + 8]
call fcn.0059f6e1
jmp 0x4a479e
mov ebp, dword [esp + 0xb4]
push dword [ebp + 4]
call fcn.0059f6e1
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x182]
mov ebp, dword [ebp]
push dword [ebp + 0xc]
mov edx, 0x72b0ec
pop ecx
call fcn.0054d570
jne 0x4a4803
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x182]
mov ebp, dword [ebp]
mov edx, dword [ebp + 0xc]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
lea eax, [esp + 0x38]
push eax
call fcn.005b12d0
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x182]
mov ebp, dword [ebp]
movsx eax, word [ebp + 0xa]
mov dword [esp + 0x78], eax
jmp 0x4a4843
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov eax, dword [esp + 0x1c]
cdq
push edx
push eax
add dword [esp], 1
adc dword [esp + 4], 0
pop eax
pop edx
push edx
push eax
call fcn.005adc10
lea eax, [esp + 0x38]
push eax
call fcn.005b12d0
push dword [esp + 0x34]
call fcn.0059f711
mov dword [esp + 0x78], eax
push dword [esp + 0x34]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x182]
mov ebp, dword [ebp]
movsx edi, word [ebp + 8]
add edi, 0xfffffff4
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
add ebx, edi
push ebx
mov ebx, dword [esp + 0x2c]
sub ebx, dword [esp + 0x80]
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, eax
push ebx
call fcn.0059f73b
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x14]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0xb8]
mov ebp, dword [ebp + 0x182]
mov ebp, dword [ebp]
movsx ecx, word [ebp + 8]
add ebx, ecx
push ebx
push dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0xc0]
mov ebp, dword [ebp + 0x182]
mov ebp, dword [ebp]
movsx ecx, word [ebp + 8]
add ebx, ecx
push ebx
push 0
call fcn.0059f973
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x182]
mov ebp, dword [ebp]
movsx ecx, word [ebp + 8]
add ebx, ecx
inc ebx
mov dword [esp + 8], ebx
jmp 0x4a4a5b
mov ebp, dword [esp + 0xb4]
cmp byte [ebp + 0xea], 0
je 0x4a4914
xor eax, eax
jmp 0x4a4919
mov eax, 1
and eax, eax
je 0x4a4a45
cmp byte [esp + 0x74], 0
je 0x4a4939
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0xc]
call fcn.0059f6e1
jmp 0x4a4948
mov ebp, dword [esp + 0xb4]
push dword [ebp]
call fcn.0059f6e1
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0xd4]
push dword [esp + 0x28]
push dword [esp + 0x10]
push 0
call fcn.005a0256
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov eax, dword [esp + 0x1c]
cdq
push edx
push eax
add dword [esp], 1
adc dword [esp + 4], 0
pop eax
pop edx
push edx
push eax
call fcn.005adc10
lea eax, [esp + 0x38]
push eax
call fcn.005b12d0
cmp byte [esp + 0x74], 0
je 0x4a49b2
mov ebp, dword [esp + 0xb4]
push dword [ebp + 8]
call fcn.0059f6e1
jmp 0x4a49c1
mov ebp, dword [esp + 0xb4]
push dword [ebp + 4]
call fcn.0059f6e1
push dword [esp + 0x34]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0xb8]
mov edi, dword [ebp + 0xd4]
add edi, 0xfffffff4
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
add ebx, edi
push ebx
mov ebx, dword [esp + 0x2c]
push dword [esp + 0x3c]
call fcn.0059f711
sub ebx, eax
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, eax
push ebx
call fcn.0059f73b
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x14]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0xb8]
add ebx, dword [ebp + 0xd4]
push ebx
push dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0xc0]
add ebx, dword [ebp + 0xd4]
push ebx
push 0
call fcn.0059f973
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0xb4]
add ebx, dword [ebp + 0xd4]
inc ebx
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0xb4]
cmp byte [ebp + 0x178], 0
je 0x4a4a6f
xor eax, eax
jmp 0x4a4a74
mov eax, 1
and eax, eax
je 0x4a4aa9
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x18]
mov ebx, dword [esp + 0xc]
dec ebx
push ebx
push dword [esp + 0xa4]
mov ebx, dword [esp + 0x14]
dec ebx
push ebx
mov ebp, dword [esp + 0xc4]
movsx eax, word [ebp + 0xe8]
push eax
call fcn.0059f973
inc dword [esp + 0x14]
jmp 0x4a4ab1
jmp 0x4a4ab6
jmp 0x4a4584
mov ebp, dword [esp + 0xb4]
cmp byte [ebp + 0xea], 0
je 0x4a4aca
xor eax, eax
jmp 0x4a4acf
mov eax, 1
and eax, eax
je 0x4a4aeb
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0x170]
and ebx, ebx
jle 0x4a4aeb
mov eax, 1
jmp 0x4a4aed
xor eax, eax
and eax, eax
je 0x4a4b14
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x14]
push dword [esp + 0xa4]
push dword [esp + 0x2c]
push 0
push dword [esp + 0x34]
call fcn.0059f973
mov ebx, dword [esp + 4]
cmp ebx, dword [esp + 0x9c]
jge 0x4a4b85
mov ebx, dword [esp + 4]
and ebx, ebx
jne 0x4a4b4d
mov ebp, dword [esp + 0xb4]
cmp byte [ebp + 0xea], 0
je 0x4a4b3d
xor eax, eax
jmp 0x4a4b42
mov eax, 1
and eax, eax
je 0x4a4b4d
mov eax, 1
jmp 0x4a4b4f
xor eax, eax
and eax, eax
je 0x4a4b5a
mov eax, dword [esp]
mov dword [esp + 4], eax
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x1c]
push dword [esp + 0xa4]
mov ebx, dword [esp + 0xa4]
sub ebx, dword [esp + 0xc]
push ebx
push 0
push dword [esp + 0x14]
call fcn.0059f8b3
mov ebx, dword [esp + 0xc]
cmp ebx, dword [esp + 0xa0]
jge 0x4a4bcd
mov ebx, dword [esp + 0xc]
and ebx, ebx
jne 0x4a4ba2
mov eax, dword [esp + 8]
mov dword [esp + 0xc], eax
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x1c]
mov ebx, dword [esp + 0xa4]
sub ebx, dword [esp + 0x10]
push ebx
push dword [esp + 0xa4]
push dword [esp + 0x18]
push 0
call fcn.0059f8b3
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0xee]
cmp ebx, 0xffffffff
jg 0x4a4bf3
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0xf2]
cmp ebx, 0xffffffff
jg 0x4a4bf3
jmp 0x4a4bfa
mov eax, 1
jmp 0x4a4bfc
xor eax, eax
and eax, eax
je 0x4a4c23
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0xee]
mov ebp, dword [esp + 0xb4]
cmp ebx, dword [ebp + 0x128]
jl 0x4a4c23
mov eax, 1
jmp 0x4a4c25
xor eax, eax
and eax, eax
je 0x4a4c4c
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0xee]
mov ebp, dword [esp + 0xb4]
cmp ebx, dword [ebp + 0x12c]
jg 0x4a4c4c
mov eax, 1
jmp 0x4a4c4e
xor eax, eax
and eax, eax
je 0x4a4c75
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0xf2]
mov ebp, dword [esp + 0xb4]
cmp ebx, dword [ebp + 0x130]
jl 0x4a4c75
mov eax, 1
jmp 0x4a4c77
xor eax, eax
and eax, eax
je 0x4a4c9e
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0xf2]
mov ebp, dword [esp + 0xb4]
cmp ebx, dword [ebp + 0x134]
jg 0x4a4c9e
mov eax, 1
jmp 0x4a4ca0
xor eax, eax
and eax, eax
je 0x4a4e19
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov ebp, dword [esp + 0xc0]
push ebp
mov ebp, dword [esp + 0xc4]
mov ebx, dword [ebp + 0xee]
pop ebp
mov ebp, dword [ebp + 0x186]
shl ebx, 2
mov eax, dword [ebp + ebx]
cdq
push edx
push eax
call fcn.005adc10
mov edx, 0x72ec6c
push edx
call fcn.005b1270
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov ebp, dword [esp + 0xc4]
push ebp
mov ebp, dword [esp + 0xc8]
mov ebx, dword [ebp + 0xf2]
pop ebp
mov ebp, dword [ebp + 0x18a]
shl ebx, 2
mov eax, dword [ebp + ebx]
cdq
push edx
push eax
call fcn.005adc10
pop eax
call fcn.005b1360
mov ebp, dword [esp + 0xbc]
push dword [ebp + 0x17a]
call fcn.0054d542
add dword [esp + 4], edx
call fcn.0059b3ed
call fcn.0054d560
and eax, eax
je 0x4a4e19
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, word [ebp + 8]
cmp ebx, 3
jne 0x4a4dbc
push dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
push dword [ebp + 0x11b]
mov ebp, dword [esp + 0xbc]
push dword [ebp + 0x113]
mov ebp, dword [esp + 0xc0]
mov ebx, dword [ebp + 0x117]
add ebx, 0x16
push ebx
mov ebp, dword [esp + 0xc4]
push dword [ebp + 0x10f]
call fcn.004cb9b3
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, word [ebp + 8]
cmp ebx, 6
jne 0x4a4e19
push dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
push dword [ebp + 0x11b]
mov ebp, dword [esp + 0xbc]
push dword [ebp + 0x113]
mov ebp, dword [esp + 0xc0]
mov ebx, dword [ebp + 0x117]
add ebx, 0x16
push ebx
mov ebp, dword [esp + 0xc4]
push dword [ebp + 0x10f]
call fcn.0041b77e
call fcn.0059f7dc
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0xee]
cmp ebx, 0xffffffff
jg 0x4a4e44
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0xf2]
cmp ebx, 0xffffffff
jg 0x4a4e44
jmp 0x4a4e4b
mov eax, 1
jmp 0x4a4e4d
xor eax, eax
and eax, eax
je 0x4a4e74
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0xee]
mov ebp, dword [esp + 0xb4]
cmp ebx, dword [ebp + 0x128]
jl 0x4a4e74
mov eax, 1
jmp 0x4a4e76
xor eax, eax
and eax, eax
je 0x4a4e9d
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0xee]
mov ebp, dword [esp + 0xb4]
cmp ebx, dword [ebp + 0x12c]
jg 0x4a4e9d
mov eax, 1
jmp 0x4a4e9f
xor eax, eax
and eax, eax
je 0x4a4ec6
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0xf2]
mov ebp, dword [esp + 0xb4]
cmp ebx, dword [ebp + 0x130]
jl 0x4a4ec6
mov eax, 1
jmp 0x4a4ec8
xor eax, eax
and eax, eax
je 0x4a4eef
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0xf2]
mov ebp, dword [esp + 0xb4]
cmp ebx, dword [ebp + 0x134]
jg 0x4a4eef
mov eax, 1
jmp 0x4a4ef1
xor eax, eax
and eax, eax
je 0x4a6214
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0xa0]
and ebx, ebx
jne 0x4a4f5e
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0x11b]
mov ebp, dword [esp + 0xb4]
sub ebx, dword [ebp + 0x113]
dec ebx
push ebx
mov ebp, dword [esp + 0xb8]
mov ebx, dword [ebp + 0x117]
mov ebp, dword [esp + 0xb8]
sub ebx, dword [ebp + 0x10f]
dec ebx
push ebx
push 0xffffffff
call fcn.005a9153
mov ebp, dword [esp + 0xb4]
mov dword [ebp + 0xa0], eax
jmp 0x4a5034
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0xa0]
call fcn.005a8ccd
mov ebx, eax
mov ebp, dword [esp + 0xb4]
mov edi, dword [ebp + 0x117]
mov ebp, dword [esp + 0xb4]
sub edi, dword [ebp + 0x10f]
dec edi
cmp ebx, edi
jne 0x4a4fc6
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0xa0]
call fcn.005a8caf
mov ebx, eax
mov ebp, dword [esp + 0xb4]
mov edi, dword [ebp + 0x11b]
mov ebp, dword [esp + 0xb4]
sub edi, dword [ebp + 0x113]
dec edi
cmp ebx, edi
jne 0x4a4fc6
jmp 0x4a4fcd
mov eax, 1
jmp 0x4a4fcf
xor eax, eax
and eax, eax
je 0x4a5034
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0x11b]
mov ebp, dword [esp + 0xb4]
sub ebx, dword [ebp + 0x113]
dec ebx
push ebx
mov ebp, dword [esp + 0xb8]
mov ebx, dword [ebp + 0x117]
mov ebp, dword [esp + 0xb8]
sub ebx, dword [ebp + 0x10f]
dec ebx
push ebx
mov ebp, dword [esp + 0xbc]
push dword [ebp + 0xa0]
call fcn.005a8d82
mov eax, 1
push eax
push dword [esp + 0xb8]
call fcn.004a25da
jmp 0x4a6339
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0xa0]
call fcn.005a8d98
push eax
call fcn.0059f665
push 1
call fcn.0059f6ca
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0xf2]
mov ebp, dword [esp + 0xb8]
push dword [ebp + 0xee]
push dword [esp + 0xbc]
call fcn.0053d31d
push eax
mov ebp, dword [esp + 0xb8]
mov ebx, dword [ebp + 0x11b]
mov ebp, dword [esp + 0xb8]
sub ebx, dword [ebp + 0x113]
dec ebx
push ebx
mov ebp, dword [esp + 0xbc]
mov ebx, dword [ebp + 0x117]
mov ebp, dword [esp + 0xbc]
sub ebx, dword [ebp + 0x10f]
dec ebx
push ebx
push 0
push 0
call fcn.0059f8b3
mov ebp, dword [esp + 0xb4]
push ebp
mov ebp, dword [esp + 0xb8]
mov ebx, dword [ebp + 0xf2]
pop ebp
mov ebp, dword [ebp + 0x18a]
shl ebx, 2
mov eax, dword [ebp + ebx]
mov dword [esp + 0x1c], eax
mov ebp, dword [esp + 0xb4]
push ebp
mov ebp, dword [esp + 0xb8]
mov ebx, dword [ebp + 0xee]
pop ebp
mov ebp, dword [ebp + 0x186]
shl ebx, 2
mov eax, dword [ebp + ebx]
mov dword [esp + 0x18], eax
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov eax, dword [esp + 0x24]
cdq
push edx
push eax
call fcn.005adc10
mov edx, 0x72ec6c
push edx
call fcn.005b1270
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov eax, dword [esp + 0x2c]
cdq
push edx
push eax
call fcn.005adc10
pop eax
call fcn.005b1360
mov ebp, dword [esp + 0xbc]
push dword [ebp + 0x17a]
call fcn.0054d542
add dword [esp + 4], edx
call fcn.0059b3ed
call fcn.0054d560
and eax, eax
je 0x4a61b3
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, byte [ebp + 0x17]
cmp ebx, 1
jne 0x4a5201
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0xf2]
mov ebp, dword [esp + 0xb8]
push dword [ebp + 0xee]
push dword [esp + 0xbc]
call fcn.0051ca78
mov dword [esp + 0x48], eax
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0x117]
mov ebp, dword [esp + 0xb4]
sub ebx, dword [ebp + 0x10f]
sub ebx, dword [esp + 0x48]
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, eax
mov dword [esp + 0x4c], ebx
jmp 0x4a5296
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, byte [ebp + 0x17]
cmp ebx, 2
jne 0x4a527e
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0xf2]
mov ebp, dword [esp + 0xb8]
push dword [ebp + 0xee]
push dword [esp + 0xbc]
call fcn.0051ca78
mov dword [esp + 0x48], eax
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0x117]
mov ebp, dword [esp + 0xb4]
sub ebx, dword [ebp + 0x10f]
sub ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ecx, word [ebp + 0x19]
sub ebx, ecx
mov dword [esp + 0x4c], ebx
jmp 0x4a5296
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx eax, word [ebp + 0x19]
mov dword [esp + 0x4c], eax
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0xff]
mov ebp, dword [esp + 0xb8]
push dword [ebp + 0xf2]
mov ebp, dword [esp + 0xbc]
push dword [ebp + 0xee]
push dword [esp + 0xc0]
call fcn.004da946
add ebx, eax
mov dword [esp + 0x7c], ebx
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, word [ebp + 8]
cmp ebx, 3
je 0x4a5307
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, word [ebp + 8]
cmp ebx, 6
je 0x4a5307
jmp 0x4a530e
mov eax, 1
jmp 0x4a5310
xor eax, eax
and eax, eax
jne 0x4a532e
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, word [ebp + 8]
and ebx, ebx
je 0x4a532e
jmp 0x4a5335
mov eax, 1
jmp 0x4a5337
xor eax, eax
and eax, eax
je 0x4a5378
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x11f]
mov ebp, dword [esp + 0xb8]
push dword [ebp + 0xf2]
mov ebp, dword [esp + 0xbc]
push dword [ebp + 0xee]
push dword [esp + 0xc0]
call fcn.004da946
sub ebx, eax
mov dword [esp + 0x7c], ebx
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0xf2]
mov ebp, dword [esp + 0xb8]
push dword [ebp + 0xee]
push dword [esp + 0xbc]
call fcn.004af407
mov dword [esp + 0x40], eax
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0xf2]
mov ebp, dword [esp + 0xb8]
push dword [ebp + 0xee]
push dword [esp + 0xbc]
call fcn.0050bf85
mov dword [esp + 0x3c], eax
mov ebx, dword [esp + 0x3c]
and ebx, ebx
jne 0x4a53dc
mov dword [esp + 0x3c], 0x10
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, byte [ebp + 0x18]
cmp ebx, 2
jne 0x4a53ff
mov dword [esp + 0x50], 0
jmp 0x4a546a
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, byte [ebp + 0x18]
cmp ebx, 1
jne 0x4a5448
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0x11b]
mov ebp, dword [esp + 0xb4]
sub ebx, dword [ebp + 0x113]
sub ebx, dword [esp + 0x3c]
mov eax, ebx
mov ecx, 2
cdq
idiv ecx
mov ebx, eax
mov dword [esp + 0x50], ebx
jmp 0x4a546a
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0x11b]
mov ebp, dword [esp + 0xb4]
sub ebx, dword [ebp + 0x113]
sub ebx, dword [esp + 0x3c]
mov dword [esp + 0x50], ebx
mov ebp, dword [esp + 0xb4]
cmp byte [ebp + 0xfe], 0
je 0x4a568c
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0xfa]
mov ebp, dword [esp + 0xb8]
push dword [ebp + 0xf6]
call fcn.0052f29b
mov dword [esp + 0x84], eax
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0xfa]
mov ebp, dword [esp + 0xb8]
push dword [ebp + 0xf6]
call fcn.0049f1d6
mov dword [esp + 0x80], eax
mov ebx, dword [esp + 0x4c]
push dword [esp + 0x84]
mov ebp, dword [esp + 0xb8]
push dword [ebp + 0xf2]
mov ebp, dword [esp + 0xbc]
push dword [ebp + 0xee]
push dword [esp + 0xc0]
call fcn.004da946
add ebx, eax
mov dword [esp + 0x8c], ebx
mov ebx, dword [esp + 0x4c]
push dword [esp + 0x80]
mov ebp, dword [esp + 0xb8]
push dword [ebp + 0xf2]
mov ebp, dword [esp + 0xbc]
push dword [ebp + 0xee]
push dword [esp + 0xc0]
call fcn.004da946
add ebx, eax
mov dword [esp + 0x88], ebx
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, word [ebp + 8]
cmp ebx, 3
je 0x4a5571
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, word [ebp + 8]
and ebx, ebx
je 0x4a5571
jmp 0x4a5578
mov eax, 1
jmp 0x4a557a
xor eax, eax
and eax, eax
jne 0x4a5599
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, word [ebp + 8]
cmp ebx, 6
je 0x4a5599
jmp 0x4a55a0
mov eax, 1
jmp 0x4a55a2
xor eax, eax
and eax, eax
je 0x4a5630
mov ebx, dword [esp + 0x8c]
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x11f]
mov ebp, dword [esp + 0xb8]
push dword [ebp + 0xf2]
mov ebp, dword [esp + 0xbc]
push dword [ebp + 0xee]
push dword [esp + 0xc0]
call fcn.004da946
sub ebx, eax
mov dword [esp + 0x8c], ebx
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x11f]
mov ebp, dword [esp + 0xb8]
push dword [ebp + 0xf2]
mov ebp, dword [esp + 0xbc]
push dword [ebp + 0xee]
push dword [esp + 0xc0]
call fcn.004da946
sub ebx, eax
mov dword [esp + 0x88], ebx
push 0x10
call fcn.0059f6ca
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
mov ebx, dword [ebp + 0x1b]
xor ebx, 0xffffffff
push ebx
push dword [esp + 0x40]
mov ebx, dword [esp + 0x90]
sub ebx, dword [esp + 0x94]
push ebx
push dword [esp + 0x5c]
push dword [esp + 0x9c]
call fcn.0059f8b3
push 1
call fcn.0059f6ca
inc dword [esp + 0x84]
inc dword [esp + 0x80]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], 1
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, word [ebp + 8]
cmp ebx, 3
je 0x4a56d0
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, word [ebp + 8]
cmp ebx, 6
je 0x4a56d0
jmp 0x4a56d7
mov eax, 1
jmp 0x4a56d9
xor eax, eax
and eax, eax
jne 0x4a56f7
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
movsx ebx, word [ebp + 8]
and ebx, ebx
je 0x4a56f7
jmp 0x4a56fe
mov eax, 1
jmp 0x4a5700
xor eax, eax
and eax, eax
je 0x4a5716
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0x11f]
inc ebx
mov dword [esp + 0x68], ebx
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
push dword [ebp + 0x18]
call fcn.005a9d3a
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
push dword [ebp + 0x18]
call fcn.005a9d4f
or eax, eax
je 0x4a6171
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov edx, dword [ebp + 0xc]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov ebp, dword [esp + 0xc0]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
movsx eax, word [ebp + 0x10]
cdq
push edx
push eax
call fcn.005adc10
pop eax
lea eax, [esp + 0x64]
push eax
call fcn.005b12d0
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x12]
and ebx, 0x100
and ebx, ebx
je 0x4a5802
mov edx, dword [esp + 0x60]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
mov edx, 0x72dffc
push edx
call fcn.005b1270
lea eax, [esp + 0x64]
push eax
call fcn.005b12d0
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x12]
and ebx, 0x200
and ebx, ebx
je 0x4a584c
mov edx, dword [esp + 0x60]
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1270
mov edx, 0x72e460
push edx
call fcn.005b1270
lea eax, [esp + 0x64]
push eax
call fcn.005b12d0
push dword [esp + 0x60]
push dword [0x7c35b0]
call fcn.0059b3ed
and eax, eax
je 0x4a5876
mov ebp, dword [0x7c35b0]
mov ebp, dword [ebp]
push dword [ebp + 0x12]
call fcn.005b0639
push eax
call fcn.0059f6fa
mov ebp, dword [esp + 0xb4]
cmp byte [ebp + 0xfe], 0
je 0x4a58b2
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov edi, dword [ebp + 8]
inc edi
cmp ebx, edi
jg 0x4a58b2
mov eax, 1
jmp 0x4a58b4
xor eax, eax
and eax, eax
je 0x4a5fa9
mov ebx, dword [esp + 0x84]
cmp ebx, dword [esp + 0x68]
jge 0x4a58f5
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov edi, dword [ebp + 8]
inc edi
cmp ebx, edi
jle 0x4a58f5
mov eax, 1
jmp 0x4a58f7
xor eax, eax
and eax, eax
je 0x4a59be
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov ebp, dword [esp + 0xbc]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov ebx, dword [ebp + 8]
sub ebx, dword [esp + 0x70]
inc ebx
push ebx
push dword [esp + 0x74]
mov ebp, dword [esp + 0xc4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
push dword [ebp + 0xe]
call fcn.005ae0f0
lea eax, [esp + 0x70]
push eax
call fcn.005b12d0
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
push dword [ebp + 0x1b]
push dword [esp + 0x70]
mov ebx, dword [esp + 0x58]
add ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xbc]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
movsx edi, word [ebp + 0x10]
mov dword [esp - 4], edi
fild dword [esp - 4]
fdiv qword [0x74c2a0]
mov dword [esp - 4], ebx
fild dword [esp - 4]
fxch st(1)
fsubp st(1)
fadd qword [0x74c210]
push eax
fistp dword [esp]
push dword [esp + 0x70]
call fcn.0059fa75
mov dword [esp + 0x70], eax
mov ebx, dword [esp + 0x84]
cmp ebx, dword [esp + 0x68]
jle 0x4a59f7
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov edi, dword [ebp + 8]
inc edi
cmp ebx, edi
jg 0x4a59f7
mov eax, 1
jmp 0x4a59f9
xor eax, eax
and eax, eax
je 0x4a5c30
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov ebx, dword [esp + 0x8c]
sub ebx, dword [esp + 0x70]
push ebx
push dword [esp + 0x74]
mov ebp, dword [esp + 0xc4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
push dword [ebp + 0xe]
call fcn.005ae0f0
lea eax, [esp + 0x70]
push eax
call fcn.005b12d0
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
push dword [ebp + 0x16]
push dword [esp + 0x70]
mov ebx, dword [esp + 0x58]
add ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xbc]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
movsx edi, word [ebp + 0x10]
mov dword [esp - 4], edi
fild dword [esp - 4]
fdiv qword [0x74c2a0]
mov dword [esp - 4], ebx
fild dword [esp - 4]
fxch st(1)
fsubp st(1)
fadd qword [0x74c210]
push eax
fistp dword [esp]
push dword [esp + 0x70]
call fcn.0059fa75
mov dword [esp + 0x70], eax
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov ebx, dword [esp + 0x88]
sub ebx, dword [esp + 0x8c]
push ebx
push dword [esp + 0x90]
mov ebp, dword [esp + 0xc4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
push dword [ebp + 0xe]
call fcn.005ae0f0
lea eax, [esp + 0x70]
push eax
call fcn.005b12d0
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
push dword [ebp + 0x1b]
push dword [esp + 0x70]
mov ebx, dword [esp + 0x58]
add ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xbc]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
movsx edi, word [ebp + 0x10]
mov dword [esp - 4], edi
fild dword [esp - 4]
fdiv qword [0x74c2a0]
mov dword [esp - 4], ebx
fild dword [esp - 4]
fxch st(1)
fsubp st(1)
fadd qword [0x74c210]
push eax
fistp dword [esp]
push dword [esp + 0x7c]
call fcn.0059fa75
mov dword [esp + 0x70], eax
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov ebp, dword [esp + 0xbc]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov ebx, dword [ebp + 8]
sub ebx, dword [esp + 0x88]
inc ebx
push ebx
push dword [esp + 0x8c]
mov ebp, dword [esp + 0xc4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
push dword [ebp + 0xe]
call fcn.005ae0f0
lea eax, [esp + 0x70]
push eax
call fcn.005b12d0
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
push dword [ebp + 0x16]
push dword [esp + 0x70]
mov ebx, dword [esp + 0x58]
add ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xbc]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
movsx edi, word [ebp + 0x10]
mov dword [esp - 4], edi
fild dword [esp - 4]
fdiv qword [0x74c2a0]
mov dword [esp - 4], ebx
fild dword [esp - 4]
fxch st(1)
fsubp st(1)
fadd qword [0x74c210]
push eax
fistp dword [esp]
push dword [esp + 0x7c]
call fcn.0059fa75
mov dword [esp + 0x70], eax
mov ebx, dword [esp + 0x84]
cmp ebx, dword [esp + 0x68]
jl 0x4a5c69
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov edi, dword [ebp + 8]
inc edi
cmp ebx, edi
jle 0x4a5c69
mov eax, 1
jmp 0x4a5c6b
xor eax, eax
and eax, eax
je 0x4a5dea
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov ebx, dword [esp + 0x8c]
sub ebx, dword [esp + 0x70]
push ebx
push dword [esp + 0x74]
mov ebp, dword [esp + 0xc4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
push dword [ebp + 0xe]
call fcn.005ae0f0
lea eax, [esp + 0x70]
push eax
call fcn.005b12d0
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
push dword [ebp + 0x16]
push dword [esp + 0x70]
mov ebx, dword [esp + 0x58]
add ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xbc]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
movsx edi, word [ebp + 0x10]
mov dword [esp - 4], edi
fild dword [esp - 4]
fdiv qword [0x74c2a0]
mov dword [esp - 4], ebx
fild dword [esp - 4]
fxch st(1)
fsubp st(1)
fadd qword [0x74c210]
push eax
fistp dword [esp]
push dword [esp + 0x70]
call fcn.0059fa75
mov dword [esp + 0x70], eax
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov ebp, dword [esp + 0xbc]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov ebx, dword [ebp + 8]
sub ebx, dword [esp + 0x8c]
inc ebx
push ebx
push dword [esp + 0x90]
mov ebp, dword [esp + 0xc4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
push dword [ebp + 0xe]
call fcn.005ae0f0
lea eax, [esp + 0x70]
push eax
call fcn.005b12d0
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
push dword [ebp + 0x1b]
push dword [esp + 0x70]
mov ebx, dword [esp + 0x58]
add ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xbc]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
movsx edi, word [ebp + 0x10]
mov dword [esp - 4], edi
fild dword [esp - 4]
fdiv qword [0x74c2a0]
mov dword [esp - 4], ebx
fild dword [esp - 4]
fxch st(1)
fsubp st(1)
fadd qword [0x74c210]
push eax
fistp dword [esp]
push dword [esp + 0x7c]
call fcn.0059fa75
mov dword [esp + 0x70], eax
mov ebx, dword [esp + 0x84]
cmp ebx, dword [esp + 0x68]
jg 0x4a5e23
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov edi, dword [ebp + 8]
inc edi
cmp ebx, edi
jg 0x4a5e23
mov eax, 1
jmp 0x4a5e25
xor eax, eax
and eax, eax
je 0x4a5fa4
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov ebx, dword [esp + 0x88]
sub ebx, dword [esp + 0x70]
push ebx
push dword [esp + 0x74]
mov ebp, dword [esp + 0xc4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
push dword [ebp + 0xe]
call fcn.005ae0f0
lea eax, [esp + 0x70]
push eax
call fcn.005b12d0
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
push dword [ebp + 0x1b]
push dword [esp + 0x70]
mov ebx, dword [esp + 0x58]
add ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xbc]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
movsx edi, word [ebp + 0x10]
mov dword [esp - 4], edi
fild dword [esp - 4]
fdiv qword [0x74c2a0]
mov dword [esp - 4], ebx
fild dword [esp - 4]
fxch st(1)
fsubp st(1)
fadd qword [0x74c210]
push eax
fistp dword [esp]
push dword [esp + 0x70]
call fcn.0059fa75
mov dword [esp + 0x70], eax
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov ebp, dword [esp + 0xbc]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov ebx, dword [ebp + 8]
sub ebx, dword [esp + 0x88]
inc ebx
push ebx
push dword [esp + 0x8c]
mov ebp, dword [esp + 0xc4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
push dword [ebp + 0xe]
call fcn.005ae0f0
lea eax, [esp + 0x70]
push eax
call fcn.005b12d0
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
push dword [ebp + 0x16]
push dword [esp + 0x70]
mov ebx, dword [esp + 0x58]
add ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xbc]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
movsx edi, word [ebp + 0x10]
mov dword [esp - 4], edi
fild dword [esp - 4]
fdiv qword [0x74c2a0]
mov dword [esp - 4], ebx
fild dword [esp - 4]
fxch st(1)
fsubp st(1)
fadd qword [0x74c210]
push eax
fistp dword [esp]
push dword [esp + 0x7c]
call fcn.0059fa75
mov dword [esp + 0x70], eax
jmp 0x4a606e
push edx
call fcn.005b1230
pop edx
push eax
push edx
call fcn.005b1230
pop edx
push eax
mov ebp, dword [esp + 0xbc]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov ebx, dword [ebp + 8]
sub ebx, dword [esp + 0x70]
inc ebx
push ebx
push dword [esp + 0x74]
mov ebp, dword [esp + 0xc4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
push dword [ebp + 0xe]
call fcn.005ae0f0
lea eax, [esp + 0x70]
push eax
call fcn.005b12d0
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
push dword [ebp + 0x16]
push dword [esp + 0x70]
mov ebx, dword [esp + 0x58]
add ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0xbc]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
movsx edi, word [ebp + 0x10]
mov dword [esp - 4], edi
fild dword [esp - 4]
fdiv qword [0x74c2a0]
mov dword [esp - 4], ebx
fild dword [esp - 4]
fxch st(1)
fsubp st(1)
fadd qword [0x74c210]
push eax
fistp dword [esp]
push dword [esp + 0x70]
call fcn.0059fa75
mov dword [esp + 0x70], eax
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x12]
and ebx, 4
and ebx, ebx
je 0x4a60ca
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
push dword [ebp + 0x16]
push 1
mov ebx, dword [esp + 0x78]
sub ebx, dword [esp + 0x6c]
push ebx
mov ebx, dword [esp + 0x5c]
add ebx, dword [esp + 0x48]
add ebx, 0xfffffffe
push ebx
push dword [esp + 0x74]
call fcn.0059f824
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x12]
and ebx, 8
and ebx, ebx
je 0x4a6131
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
push dword [ebp + 0x16]
push 1
mov ebx, dword [esp + 0x78]
sub ebx, dword [esp + 0x6c]
push ebx
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x48]
mov eax, edi
mov ecx, 2
cdq
idiv ecx
mov edi, eax
add ebx, edi
push ebx
push dword [esp + 0x74]
call fcn.0059f824
mov eax, dword [esp + 0x70]
mov dword [esp + 0x64], eax
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
add ebp, 8
mov ebp, dword [ebp + 0x1c]
mov ebx, dword [ebp + 8]
inc ebx
mov dword [esp + 0x68], ebx
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x34]
call fcn.005b0639
push eax
call fcn.0059f6fa
jmp 0x4a5731
mov ebp, dword [esp + 0xb4]
cmp byte [ebp + 0x9f], 0
je 0x4a61b1
mov ebp, dword [esp + 0xb4]
mov ebp, dword [ebp + 0x17a]
mov ebp, dword [ebp]
mov ebx, dword [ebp + 0x1b]
xor ebx, 0xffffffff
push ebx
push dword [esp + 0x40]
push 1
push dword [esp + 0x5c]
push dword [esp + 0x8c]
call fcn.0059f824
jmp 0x4a620f
mov dword [esp + 0x7c], 0
fld qword [0x74c2a8]
sub esp, 8
fstp qword [esp]
call fcn.00574470
mov dword [esp + 0x3c], eax
mov ebp, dword [esp + 0xb4]
cmp byte [ebp + 0x9f], 0
je 0x4a620f
push 0
push 0
push 0
call fcn.0059f89e
push eax
push dword [esp + 0x40]
push 1
push 0
push dword [esp + 0x8c]
call fcn.0059f824
call fcn.0059f7dc
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x28]
call fcn.005860b6
push eax
call fcn.0059f665
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0xee]
cmp ebx, 0xffffffff
jg 0x4a624f
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0xf2]
cmp ebx, 0xffffffff
jg 0x4a624f
jmp 0x4a6256
mov eax, 1
jmp 0x4a6258
xor eax, eax
and eax, eax
je 0x4a627f
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0xee]
mov ebp, dword [esp + 0xb4]
cmp ebx, dword [ebp + 0x128]
jl 0x4a627f
mov eax, 1
jmp 0x4a6281
xor eax, eax
and eax, eax
je 0x4a62a8
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0xee]
mov ebp, dword [esp + 0xb4]
cmp ebx, dword [ebp + 0x12c]
jg 0x4a62a8
mov eax, 1
jmp 0x4a62aa
xor eax, eax
and eax, eax
je 0x4a62d1
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0xf2]
mov ebp, dword [esp + 0xb4]
cmp ebx, dword [ebp + 0x130]
jl 0x4a62d1
mov eax, 1
jmp 0x4a62d3
xor eax, eax
and eax, eax
je 0x4a62fa
mov ebp, dword [esp + 0xb4]
mov ebx, dword [ebp + 0xf2]
mov ebp, dword [esp + 0xb4]
cmp ebx, dword [ebp + 0x134]
jg 0x4a62fa
mov eax, 1
jmp 0x4a62fc
xor eax, eax
and eax, eax
je 0x4a6332
mov ebp, dword [esp + 0xb4]
push dword [ebp + 0x113]
mov ebp, dword [esp + 0xb8]
push dword [ebp + 0x10f]
mov ebp, dword [esp + 0xbc]
push dword [ebp + 0xa0]
call fcn.005a8f63
push eax
call fcn.0059fa48
call fcn.0059f7dc
xor eax, eax
push dword [esp + 0x60]
call fcn.005b1460
push dword [esp + 0x34]
call fcn.005b1460
push dword [esp + 0x6c]
call fcn.005b1460
push dword [esp + 0x54]
call fcn.005b1460
push dword [esp + 0x38]
call fcn.005b1460
push dword [esp + 0x5c]
call fcn.005b1460
add esp, 0xa4
pop edi
pop ebx
pop ebp
ret 8