Function at 0x476908
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc5c
push edi
push esi
push ebx
cmp dword [0x4d5450], 0
jne 0x476af1
mov dword [0x4d5450], 1
mov eax, dword [0x5f20e0]
mov dword [ebp - 0xbec], eax
test eax, eax
je 0x476af1
lea edx, [ebp - 0x940]
mov dword [ebp - 0xbf4], edx
mov esi, esi
add esp, 0xfffffffc
push 0x20
mov ecx, dword [ebp - 0xbf4]
push ecx
mov eax, dword [ebp - 0xbec]
add eax, 4
push eax
call fcn.0047b344
mov dword [ebp - 0xbf0], eax
mov dword [ebp - 0xbe8], 0
add esp, 0x10
cmp dword [ebp - 0xbe8], eax
jge 0x476adb
mov esi, esi
mov eax, dword [ebp - 0xbe8]
mov edx, dword [ebp - 0xbf4]
mov eax, dword [edx + eax*4]
mov dword [ebp - 0xbf8], eax
add esp, 0xfffffff8
push 0x3d
push eax
call sub.msvcrt.dll_strchr
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x4769b5
mov byte [ebx], 0
inc ebx
mov esi, dword [ebp - 0xbf8]
mov edi, 0x476830
mov ecx, 2
cld
test al, 0
repe cmpsb byte [esi], byte es:[edi]
jne 0x4769f8
test ebx, ebx
je 0x4769e8
add esp, 0xfffffff4
push ebx
call sub.msvcrt.dll_atoi
add esp, 0x10
mov dword [0x4d5448], eax
jmp 0x476ac3
mov dword [0x4d5448], 0
jmp 0x476ac3
mov esi, dword [ebp - 0xbf8]
mov edi, 0x476832
mov ecx, 2
cld
test al, 0
repe cmpsb byte [esi], byte es:[edi]
jne 0x476a4c
mov eax, dword [0x58d5d0]
test eax, eax
je 0x476a24
add esp, 0xfffffff4
push eax
call sub.msvcrt.dll_free
add esp, 0x10
test ebx, ebx
je 0x476a40
add esp, 0xfffffff4
push ebx
call fcn.0040d68c
add esp, 0x10
mov dword [0x58d5d0], eax
jmp 0x476ac3
mov dword [0x58d5d0], 0
jmp 0x476ac3
mov esi, dword [ebp - 0xbf8]
mov edi, 0x476834
mov ecx, 2
cld
test al, 0
repe cmpsb byte [esi], byte es:[edi]
jne 0x476a9c
mov eax, dword [0x58d5e0]
test eax, eax
je 0x476a78
add esp, 0xfffffff4
push eax
call sub.msvcrt.dll_free
add esp, 0x10
test ebx, ebx
je 0x476a90
add esp, 0xfffffff4
push ebx
call fcn.0040d68c
add esp, 0x10
mov dword [0x58d5e0], eax
jmp 0x476ac3
mov dword [0x58d5e0], 0
jmp 0x476ac3
mov esi, dword [ebp - 0xbf8]
mov edi, 0x476836
mov ecx, 2
cld
test al, 0
repe cmpsb byte [esi], byte es:[edi]
jne 0x476ac3
test ebx, ebx
je 0x476ac3
add esp, 0xfffffff4
push ebx
call fcn.0047b638
add esp, 0x10
inc dword [ebp - 0xbe8]
mov edx, dword [ebp - 0xbf0]
cmp dword [ebp - 0xbe8], edx
jl 0x476988
mov ecx, dword [ebp - 0xbec]
mov ecx, dword [ecx]
mov dword [ebp - 0xbec], ecx
test ecx, ecx
jne 0x47694c
mov eax, dword [0x4d544c]
test eax, eax
jne 0x476b0c
add esp, 0xfffffff4
push 0x58d750
call fcn.004ba2c8
add esp, 0x10
jmp 0x476b2f
add esp, 0xfffffff4
push eax
call sub.msvcrt.dll_free
mov dword [0x4d544c], 0
add esp, 0xfffffff4
push 0x58d750
call fcn.004ba3fc
add esp, 0x20
call fcn.0047b3e4
mov eax, dword [0x58d5e0]
test eax, eax
je 0x476b4c
add esp, 0xfffffffc
push 1
push 0
push eax
call fcn.0040d000
jmp 0x476b57
add esp, 0xfffffff4
push dword [ebp + 8]
call fcn.0047a7e8
mov dword [ebp - 0xbe4], eax
add esp, 0x10
cmp dword [ebp - 0xbe4], 0
jne 0x476bac
mov eax, dword [0x58d5d0]
test eax, eax
je 0x476b88
add esp, 0xfffffffc
push 1
push 0
push eax
call fcn.0040d000
mov dword [ebp - 0xbe4], eax
add esp, 0x10
cmp dword [ebp - 0xbe4], 0
jne 0x476bac
mov dword [0x58d5e0], 0
mov dword [0x58d5d0], 0
xor eax, eax
jmp 0x47a1fe
call fcn.0047a888
lea edi, [ebp - 0x8c0]
xor eax, eax
cld
mov ecx, 0x210
rep stosd dword es:[edi], eax
add esp, 0xfffffff4
lea ebx, [ebp - 0x88]
push ebx
call fcn.004ba2c8
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x90], 0
mov eax, dword [0x4c700c]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0xa0], eax
add esp, 0xfffffff8
push 0xff
lea edi, [ebp - 0x8a8]
push edi
call fcn.004487b8
mov ecx, eax
mov dword [ebp - 0xa4], ecx
add esp, 0x20
test ecx, ecx
jle 0x476c6c
mov eax, dword [ebp + ecx*8 - 0x8b0]
mov edx, dword [ebp + ecx*8 - 0x8ac]
mov dword [ebp + ecx*8 - 0x8a8], eax
mov dword [ebp + ecx*8 - 0x8a4], edx
mov eax, dword [ebp - 0xa4]
shl eax, 3
mov dword [eax + edi], 0x7fffffff
movzx eax, byte [ebp - 0x8a2]
imul eax, dword [ebp - 0xa0]
lea edx, [eax*4]
movzx ecx, byte [ebp - 0x8a1]
mov eax, edx
cdq
idiv ecx
mov ecx, eax
mov dword [ebp - 0x8ac], ecx
jmp 0x476c7b
mov edx, dword [ebp - 0xa0]
shl edx, 2
mov dword [ebp - 0x8ac], edx
mov eax, dword [ebp - 0x8ac]
mov dword [ebp - 0x8b8], eax
add esp, 0xfffffff8
push 0
push 0
call fcn.0043fae8
mov dword [ebp - 0x8bc], eax
add esp, 0xfffffff8
push 1
push 0
call fcn.0043fae8
add esp, 0x20
jmp case.0x476d90.20
cmp dword [0x58d740], 0xffffffff
jne 0x476d4b
cmp byte [0x58d860], 0
jne 0x476ccf
cmp byte [0x58d760], 0x22
je 0x476d4b
add esp, 0xfffffffc
mov eax, dword [0x4c523c]
push 0x476838
push 1
push 1
mov eax, dword [eax + 0x28]
call eax
mov dword [0x58d740], 0
mov dword [ebp - 0x950], 0
lea eax, [ebp - 0x950]
mov byte [eax + 4], 0x4e
mov edx, dword [eax + 4]
or dh, 0x22
and edx, 0x22ff
mov dword [eax + 4], edx
add esp, 0x10
mov edx, eax
cmp dword [0x4d5448], 0
jle 0x476d3f
mov eax, dword [0x58d880]
test eax, eax
jle 0x476d34
mov dword [ebp - 0x950], eax
jmp 0x476d3f
mov eax, dword [ebp - 0x950]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push edx
call fcn.0043fbac
add esp, 0x10
movzx eax, byte [0x58d860]
cmp eax, 4
ja case.0x476d90.20
jmp dword [eax*4 + 0x476d64]
mov edi, 0x58d761
movzx eax, byte [0x58d760]
add eax, 0xfffffffb
cmp eax, 0x22
ja case.0x476d90.20
jmp dword [eax*4 + 0x476d98]
add esp, 0xfffffff4
push edi
call sub.msvcrt.dll_atoi
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0x958], eax
lea edx, [ebp - 0x958]
mov byte [edx + 4], 0x4e
mov ebx, dword [edx + 4]
or bh, 5
mov ecx, edi
shl ecx, 0x10
and ecx, 0xff0000
and ebx, 0x5ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ebx, ecx
or ebx, eax
mov dword [edx + 4], ebx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x479c17
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x476e94
mov dword [ebp - 0x958], eax
jmp 0x479c17
mov eax, dword [ebp - 0x958]
jmp 0x479c12
mov eax, dword [ebp - 0x8bc]
cmp dword [ebp - 0x8c0], eax
jge case.0x476d90.20
mov esi, esi
add esp, 0xfffffff4
lea ecx, [ebp - 0x8c0]
push ecx
call fcn.0047a374
add esp, 0x10
mov eax, dword [ebp - 0x8bc]
cmp dword [ebp - 0x8c0], eax
jl 0x476eb4
jmp case.0x476d90.20
push 0
lea ebx, [ebp - 0x960]
push ebx
push edi
push 0x4e
call fcn.0043fd20
mov byte [ebx + 5], 7
mov edx, dword [ebp - 0x8c0]
mov dword [ebp - 0x960], edx
add esp, 0x10
mov ecx, ebx
cmp dword [0x4d5448], 0
jle 0x47859a
mov eax, dword [0x58d880]
cmp edx, eax
jge 0x478594
mov dword [ebp - 0x960], eax
jmp 0x47859a
push 0
lea ebx, [ebp - 0x968]
push ebx
push edi
push 0x4e
call fcn.0043fd20
mov byte [ebx + 5], 8
mov edx, dword [ebp - 0x8c0]
mov dword [ebp - 0x968], edx
add esp, 0x10
mov ecx, ebx
cmp dword [0x4d5448], 0
jle 0x47859a
mov eax, dword [0x58d880]
cmp edx, eax
jge 0x478594
mov dword [ebp - 0x968], eax
jmp 0x47859a
add esp, 0xfffffffc
push 3
lea ebx, [ebp - 0x80]
push ebx
push edi
call fcn.0047b344
mov dword [ebp - 0xbe8], 0
add esp, 0x10
mov dword [ebp - 0xc34], ebx
lea eax, [ebp - 0x970]
mov dword [ebp - 0xc40], eax
lea esi, [ebp - 0x978]
mov ebx, eax
mov esi, esi
add esp, 0xfffffff4
mov edx, dword [ebp - 0xbe8]
mov ecx, dword [ebp - 0xc34]
push dword [ecx + edx*4]
call sub.msvcrt.dll_atoi
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0x970], eax
mov byte [ebx + 4], 0x4e
mov ecx, dword [ebx + 4]
or ch, 0x37
mov edx, edi
shl edx, 0x10
and edx, 0xff0000
and ecx, 0x37ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ecx, edx
or ecx, eax
mov dword [ebx + 4], ecx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x477027
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x47701c
mov dword [ebp - 0x970], eax
jmp 0x477027
mov eax, dword [ebp - 0x970]
mov dword [0x58d880], eax
add esp, 0xfffffff4
mov eax, dword [ebp - 0xc40]
push eax
call fcn.0043fbac
add esp, 0x10
inc dword [ebp - 0xbe8]
cmp dword [ebp - 0xbe8], 1
jle 0x476fac
add esp, 0xfffffff8
push 1
mov edx, dword [ebp - 0xbe8]
mov ecx, dword [ebp - 0xc34]
push dword [ecx + edx*4]
call fcn.0047a7b0
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0x978], eax
mov byte [esi + 4], 0x4e
mov ecx, dword [esi + 4]
or ch, 9
mov edx, edi
shl edx, 0x10
and edx, 0xff0000
and ecx, 0x9ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ecx, edx
or ecx, eax
mov dword [esi + 4], ecx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x4770cb
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x4770c0
mov dword [ebp - 0x978], eax
jmp 0x4770cb
mov eax, dword [ebp - 0x978]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push esi
call fcn.0043fbac
add esp, 0x10
test edi, edi
jle case.0x476d90.20
lea ecx, [edi + 1]
imul ecx, dword [ebp - 0xa0]
mov ebx, 0x2aaaaaab
mov eax, ebx
imul ecx
mov edi, edx
sar edi, 2
mov edx, ecx
sar edx, 0x1f
sub edi, edx
mov dword [ebp - 0x944], edi
fild dword [ebp - 0x944]
mov dword [ebp - 0xbe8], 1
lea esi, [ebp - 0x8c0]
fstp qword [ebp - 0xc00]
fild dword [ebp - 0xbe8]
fld qword [ebp - 0xc00]
fmulp st(1)
fdiv qword [0x476900]
mov edx, dword [ebp - 0xbe8]
fnstcw word [ebp - 0x946]
mov ax, word [ebp - 0x946]
or ax, 0xc00
mov word [ebp - 0x948], ax
fldcw word [ebp - 0x948]
fistp dword [ebp - 0x944]
mov ebx, dword [ebp - 0x944]
fldcw word [ebp - 0x946]
push edx
push 0x37
push ebx
push esi
call fcn.0047a20c
push 0xc
push 0x38
push ebx
push esi
call fcn.0047a20c
add esp, 0x20
inc dword [ebp - 0xbe8]
cmp dword [ebp - 0xbe8], 0xb
jle 0x477120
push 0xc
push 0x37
push edi
lea ecx, [ebp - 0x8c0]
push ecx
call fcn.0047a20c
push 0xc
push 0x38
push edi
lea eax, [ebp - 0x8c0]
push eax
jmp 0x477af6
add esp, 0xfffffffc
push 6
lea ebx, [ebp - 0x80]
push ebx
push edi
call fcn.0047b344
mov esi, eax
add esp, 0x10
mov dword [ebp - 0xc34], ebx
cmp esi, 4
jle case.0x476d90.20
mov dword [ebp - 0xbe8], 0
lea edx, [ebp - 0x980]
mov dword [ebp - 0xc3c], edx
lea esi, [ebp - 0x988]
mov ebx, edx
lea esi, [esi]
add esp, 0xfffffff4
mov ecx, dword [ebp - 0xbe8]
mov eax, dword [ebp - 0xc34]
push dword [eax + ecx*4]
call sub.msvcrt.dll_atoi
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0x980], eax
mov byte [ebx + 4], 0x4e
mov ecx, dword [ebx + 4]
or ch, 0x37
mov edx, edi
shl edx, 0x10
and edx, 0xff0000
and ecx, 0x37ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ecx, edx
or ecx, eax
mov dword [ebx + 4], ecx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x477273
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x477268
mov dword [ebp - 0x980], eax
jmp 0x477273
mov eax, dword [ebp - 0x980]
mov dword [0x58d880], eax
add esp, 0xfffffff4
mov edx, dword [ebp - 0xc3c]
push edx
call fcn.0043fbac
add esp, 0x10
inc dword [ebp - 0xbe8]
cmp dword [ebp - 0xbe8], 4
jle 0x4771f8
add esp, 0xfffffff4
mov ecx, dword [ebp - 0xbe8]
mov eax, dword [ebp - 0xc34]
push dword [eax + ecx*4]
call sub.msvcrt.dll_atoi
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0x988], eax
mov byte [esi + 4], 0x4e
mov ecx, dword [esi + 4]
or ch, 0xa
mov edx, edi
shl edx, 0x10
and edx, 0xff0000
and ecx, 0xaff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ecx, edx
or ecx, eax
mov dword [esi + 4], ecx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x479d7f
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x477310
mov dword [ebp - 0x988], eax
jmp 0x479d7f
mov eax, dword [ebp - 0x988]
jmp 0x479d7a
add esp, 0xfffffff4
push edi
call sub.msvcrt.dll_atoi
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0x990], eax
lea edx, [ebp - 0x990]
mov byte [edx + 4], 0x4e
mov ebx, dword [edx + 4]
or bh, 0xb
mov ecx, edi
shl ecx, 0x10
and ecx, 0xff0000
and ebx, 0xbff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ebx, ecx
or ebx, eax
mov dword [edx + 4], ebx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x479c17
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x47738c
mov dword [ebp - 0x990], eax
jmp 0x479c17
mov eax, dword [ebp - 0x990]
jmp 0x479c12
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0x998], eax
lea eax, [ebp - 0x998]
mov byte [eax + 4], 0x4e
mov edx, dword [eax + 4]
or dh, 0xc
and edx, 0xcff
mov dword [eax + 4], edx
mov edx, eax
cmp dword [0x4d5448], 0
jle 0x479c17
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x4773e4
mov dword [ebp - 0x998], eax
jmp 0x479c17
mov eax, dword [ebp - 0x998]
jmp 0x479c12
add esp, 0xfffffffc
push 7
lea ebx, [ebp - 0x80]
push ebx
push edi
call fcn.0047b344
mov esi, eax
add esp, 0x10
mov dword [ebp - 0xc34], ebx
cmp esi, 3
jle case.0x476d90.20
mov dword [ebp - 0xbe8], 0
lea edx, [ebp - 0x9a0]
mov dword [ebp - 0xc38], edx
lea ebx, [ebp - 0x9a8]
lea ecx, [ebp - 0x9b0]
mov dword [ebp - 0xc30], ecx
lea eax, [ebp - 0x9b8]
mov dword [ebp - 0xc2c], eax
mov esi, edx
lea esi, [esi]
add esp, 0xfffffff4
mov edx, dword [ebp - 0xbe8]
mov ecx, dword [ebp - 0xc34]
push dword [ecx + edx*4]
call sub.msvcrt.dll_atoi
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0x9a0], eax
mov byte [esi + 4], 0x4e
mov ecx, dword [esi + 4]
or ch, 0x37
mov edx, edi
shl edx, 0x10
and edx, 0xff0000
and ecx, 0x37ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ecx, edx
or ecx, eax
mov dword [esi + 4], ecx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x4774c7
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x4774bc
mov dword [ebp - 0x9a0], eax
jmp 0x4774c7
mov eax, dword [ebp - 0x9a0]
mov dword [0x58d880], eax
add esp, 0xfffffff4
mov eax, dword [ebp - 0xc38]
push eax
call fcn.0043fbac
add esp, 0x10
inc dword [ebp - 0xbe8]
cmp dword [ebp - 0xbe8], 3
jle 0x47744c
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0x9a8], eax
mov byte [ebx + 4], 0x4e
mov eax, dword [ebx + 4]
xor ah, ah
or ah, 0x37
mov dword [ebx + 4], eax
add esp, 0xfffffff4
push dword [ebp - 0x70]
call sub.msvcrt.dll_atoi
mov byte [ebx + 6], al
add esp, 0xfffffff4
push dword [ebp - 0x70]
call sub.msvcrt.dll_atoi
shr eax, 8
mov byte [ebx + 7], al
add esp, 0x20
cmp dword [0x4d5448], 0
jle 0x477553
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x477548
mov dword [ebp - 0x9a8], eax
jmp 0x477553
mov eax, dword [ebp - 0x9a8]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push ebx
call fcn.0043fbac
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0x9b0], eax
mov edx, dword [ebp - 0xc30]
mov byte [edx + 4], 0x4e
mov eax, dword [edx + 4]
xor ah, ah
or ah, 0x37
mov dword [edx + 4], eax
add esp, 0xfffffff4
push dword [ebp - 0x6c]
call sub.msvcrt.dll_atoi
mov ecx, dword [ebp - 0xc30]
mov byte [ecx + 6], al
add esp, 0x20
add esp, 0xfffffff4
push dword [ebp - 0x6c]
call sub.msvcrt.dll_atoi
shr eax, 8
mov edx, dword [ebp - 0xc30]
mov byte [edx + 7], al
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x4775d7
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x4775cc
mov dword [ebp - 0x9b0], eax
jmp 0x4775d7
mov eax, dword [ebp - 0x9b0]
mov dword [0x58d880], eax
add esp, 0xfffffff4
mov ecx, dword [ebp - 0xc30]
push ecx
call fcn.0043fbac
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0x9b8], eax
mov eax, dword [ebp - 0xc2c]
mov byte [eax + 4], 0x4e
mov edx, dword [ebp - 0xc2c]
mov eax, dword [edx + 4]
xor ah, ah
or ah, 0xd
mov dword [edx + 4], eax
add esp, 0xfffffff4
push dword [ebp - 0x68]
call sub.msvcrt.dll_atoi
mov ecx, dword [ebp - 0xc2c]
mov byte [ecx + 6], al
add esp, 0x20
add esp, 0xfffffff4
push dword [ebp - 0x68]
call sub.msvcrt.dll_atoi
shr eax, 8
mov edx, dword [ebp - 0xc2c]
mov byte [edx + 7], al
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x477667
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x47765c
mov dword [ebp - 0x9b8], eax
jmp 0x477667
mov eax, dword [ebp - 0x9b8]
mov dword [0x58d880], eax
add esp, 0xfffffff4
mov ecx, dword [ebp - 0xc2c]
push ecx
jmp 0x479d83
add esp, 0xfffffff4
push edi
call sub.msvcrt.dll_atoi
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0x9c0], eax
lea edx, [ebp - 0x9c0]
mov byte [edx + 4], 0x4e
mov ebx, dword [edx + 4]
or bh, 0xe
mov ecx, edi
shl ecx, 0x10
and ecx, 0xff0000
and ebx, 0xeff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ebx, ecx
or ebx, eax
mov dword [edx + 4], ebx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x479c17
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x4776e8
mov dword [ebp - 0x9c0], eax
jmp 0x479c17
mov eax, dword [ebp - 0x9c0]
jmp 0x479c12
add esp, 0xfffffffc
push 9
lea ebx, [ebp - 0x80]
push ebx
push edi
call fcn.0047b344
mov esi, eax
add esp, 0x10
mov dword [ebp - 0xc34], ebx
cmp esi, 5
jle case.0x476d90.20
mov dword [ebp - 0xbe8], 0
lea eax, [ebp - 0x9c8]
mov dword [ebp - 0xc28], eax
lea esi, [ebp - 0x9d0]
mov ebx, eax
lea esi, [esi]
add esp, 0xfffffff4
mov edx, dword [ebp - 0xbe8]
mov ecx, dword [ebp - 0xc34]
push dword [ecx + edx*4]
call sub.msvcrt.dll_atoi
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0x9c8], eax
mov byte [ebx + 4], 0x4e
mov ecx, dword [ebx + 4]
or ch, 0x37
mov edx, edi
shl edx, 0x10
and edx, 0xff0000
and ecx, 0x37ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ecx, edx
or ecx, eax
mov dword [ebx + 4], ecx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x4777b3
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x4777a8
mov dword [ebp - 0x9c8], eax
jmp 0x4777b3
mov eax, dword [ebp - 0x9c8]
mov dword [0x58d880], eax
add esp, 0xfffffff4
mov eax, dword [ebp - 0xc28]
push eax
call fcn.0043fbac
add esp, 0x10
inc dword [ebp - 0xbe8]
cmp dword [ebp - 0xbe8], 7
jle 0x477738
add esp, 0xfffffff4
mov edx, dword [ebp - 0xbe8]
mov ecx, dword [ebp - 0xc34]
push dword [ecx + edx*4]
call sub.msvcrt.dll_atoi
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0x9d0], eax
mov byte [esi + 4], 0x4e
mov ecx, dword [esi + 4]
or ch, 0xf
mov edx, edi
shl edx, 0x10
and edx, 0xff0000
and ecx, 0xfff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ecx, edx
or ecx, eax
mov dword [esi + 4], ecx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x479d7f
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x477850
mov dword [ebp - 0x9d0], eax
jmp 0x479d7f
mov eax, dword [ebp - 0x9d0]
jmp 0x479d7a
add esp, 0xfffffff4
push edi
call sub.msvcrt.dll_atoi
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0x9d8], eax
lea edx, [ebp - 0x9d8]
mov byte [edx + 4], 0x4e
mov ebx, dword [edx + 4]
or bh, 0x10
mov ecx, edi
shl ecx, 0x10
and ecx, 0xff0000
and ebx, 0x10ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ebx, ecx
or ebx, eax
mov dword [edx + 4], ebx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x479c17
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x4778cc
mov dword [ebp - 0x9d8], eax
jmp 0x479c17
mov eax, dword [ebp - 0x9d8]
jmp 0x479c12
lea eax, [ebp - 0x80]
mov dword [ebp - 0xc34], eax
cmp dword [0x4d5448], 0
jle 0x477940
mov dword [ebp - 0xbe8], 0
cmp byte [edi], 0
je 0x477940
lea esi, [esi]
mov edx, dword [ebp - 0xbe8]
cmp byte [edx + edi], 0x2e
jne 0x47792e
mov eax, dword [0x4c523c]
push dword [0x58d870]
push 0x476850
push 2
push 1
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [ebp - 0xbe8]
mov byte [ecx + edi], 0x2c
add esp, 0x10
inc dword [ebp - 0xbe8]
mov eax, dword [ebp - 0xbe8]
cmp byte [eax + edi], 0
jne 0x4778fc
add esp, 0xfffffffc
push 2
mov edx, dword [ebp - 0xc34]
push edx
push edi
call fcn.0047b344
mov esi, eax
add esp, 0x10
cmp esi, 2
jne case.0x476d90.20
add esp, 0xfffffff4
push dword [ebp - 0x80]
call sub.msvcrt.dll_atoi
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0x9e0], eax
lea edx, [ebp - 0x9e0]
mov byte [edx + 4], 0x4e
mov ebx, dword [edx + 4]
or bh, 0x37
mov ecx, edi
shl ecx, 0x10
and ecx, 0xff0000
and ebx, 0x37ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ebx, ecx
or ebx, eax
mov dword [edx + 4], ebx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x4779d7
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x4779cc
mov dword [ebp - 0x9e0], eax
jmp 0x4779d7
mov eax, dword [ebp - 0x9e0]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push edx
call fcn.0043fbac
add esp, 0xfffffff4
push dword [ebp - 0x7c]
call sub.msvcrt.dll_atoi
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0x9e8], eax
lea edx, [ebp - 0x9e8]
mov byte [edx + 4], 0x4e
mov ebx, dword [edx + 4]
or bh, 0x11
mov ecx, edi
shl ecx, 0x10
and ecx, 0xff0000
and ebx, 0x11ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ebx, ecx
or ebx, eax
mov dword [edx + 4], ebx
add esp, 0x20
cmp dword [0x4d5448], 0
jle 0x479c17
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x477a54
mov dword [ebp - 0x9e8], eax
jmp 0x479c17
mov eax, dword [ebp - 0x9e8]
jmp 0x479c12
add esp, 0xfffffff4
push edi
call sub.msvcrt.dll_atoi
mov edi, eax
add esp, 0x10
cmp edi, dword [ebp - 0x8b4]
jl case.0x476d90.20
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0x9f0], eax
lea eax, [ebp - 0x9f0]
mov byte [eax + 4], 0x4e
mov edx, dword [eax + 4]
and edx, 0x7fff12ff
or edx, 0x7fff1200
mov dword [eax + 4], edx
mov edx, eax
cmp dword [0x4d5448], 0
jle 0x477acf
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x477ac4
mov dword [ebp - 0x9f0], eax
jmp 0x477acf
mov eax, dword [ebp - 0x9f0]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push edx
call fcn.0043fbac
mov eax, edi
sub eax, dword [ebp - 0x8b4]
imul eax, dword [ebp - 0x8ac]
push 0x7fff
push 0x39
push eax
lea ecx, [ebp - 0x8c0]
push ecx
call fcn.0047a20c
add esp, 0x20
jmp case.0x476d90.20
add esp, 0xfffffff8
push 0x3b
push edi
call sub.msvcrt.dll_strchr
add esp, 0x10
test eax, eax
setne al
movzx edx, al
mov dword [ebp - 0xbe8], edx
add esp, 0xfffffffc
push 2
lea eax, [ebp - 0x80]
push eax
push edi
call fcn.0047b344
mov esi, eax
add esp, 0x10
cmp esi, 2
jne case.0x476d90.20
cmp dword [ebp - 0xbe8], 0
je 0x477c48
add esp, 0xfffffff4
push dword [ebp - 0x7c]
call sub.msvcrt.dll_atoi
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0x9f8], eax
lea edx, [ebp - 0x9f8]
mov byte [edx + 4], 0x4e
mov ebx, dword [edx + 4]
or bh, 0x37
mov ecx, edi
shl ecx, 0x10
and ecx, 0xff0000
and ebx, 0x37ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ebx, ecx
or ebx, eax
mov dword [edx + 4], ebx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x477bbf
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x477bb4
mov dword [ebp - 0x9f8], eax
jmp 0x477bbf
mov eax, dword [ebp - 0x9f8]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push edx
call fcn.0043fbac
add esp, 0xfffffff4
push dword [ebp - 0x80]
call sub.msvcrt.dll_atoi
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xa00], eax
lea edx, [ebp - 0xa00]
mov byte [edx + 4], 0x4e
mov ebx, dword [edx + 4]
or bh, 0x13
mov ecx, edi
shl ecx, 0x10
and ecx, 0xff0000
and ebx, 0x13ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ebx, ecx
or ebx, eax
mov dword [edx + 4], ebx
add esp, 0x20
cmp dword [0x4d5448], 0
jle 0x479c17
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x477c3c
mov dword [ebp - 0xa00], eax
jmp 0x479c17
mov eax, dword [ebp - 0xa00]
jmp 0x479c12
add esp, 0xfffffff4
push dword [ebp - 0x80]
call sub.msvcrt.dll_atoi
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xa08], eax
lea edx, [ebp - 0xa08]
mov byte [edx + 4], 0x4e
mov ebx, dword [edx + 4]
or bh, 0x37
mov ecx, edi
shl ecx, 0x10
and ecx, 0xff0000
and ebx, 0x37ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ebx, ecx
or ebx, eax
mov dword [edx + 4], ebx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x477cbf
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x477cb4
mov dword [ebp - 0xa08], eax
jmp 0x477cbf
mov eax, dword [ebp - 0xa08]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push edx
call fcn.0043fbac
add esp, 0xfffffff4
push dword [ebp - 0x7c]
call sub.msvcrt.dll_atoi
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xa10], eax
lea edx, [ebp - 0xa10]
mov byte [edx + 4], 0x4e
mov ebx, dword [edx + 4]
or bh, 0x13
mov ecx, edi
shl ecx, 0x10
and ecx, 0xff0000
and ebx, 0x13ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ebx, ecx
or ebx, eax
mov dword [edx + 4], ebx
add esp, 0x20
cmp dword [0x4d5448], 0
jle 0x479c17
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x477d3c
mov dword [ebp - 0xa10], eax
jmp 0x479c17
mov eax, dword [ebp - 0xa10]
jmp 0x479c12
add esp, 0xfffffffc
push 5
lea ebx, [ebp - 0x80]
push ebx
push edi
call fcn.0047b344
mov eax, dword [ebp - 0x80]
add esp, 0x10
mov dword [ebp - 0xc34], ebx
cmp byte [eax], 0
je case.0x476d90.20
push 0
lea ebx, [ebp - 0xa18]
push ebx
push eax
push 0x4e
call fcn.0043fd20
mov byte [ebx + 5], 0x37
mov edx, dword [ebp - 0x8c0]
mov dword [ebp - 0xa18], edx
add esp, 0x10
mov ecx, ebx
cmp dword [0x4d5448], 0
jle 0x477db2
mov eax, dword [0x58d880]
cmp edx, eax
jge 0x477dac
mov dword [ebp - 0xa18], eax
jmp 0x477db2
mov dword [0x58d880], edx
add esp, 0xfffffff4
push ecx
call fcn.0043fbac
add esp, 0x10
lea ecx, [ebp - 0xa20]
mov dword [ebp - 0xc24], ecx
lea esi, [ebp - 0xa28]
lea eax, [ebp - 0xa30]
mov dword [ebp - 0xc20], eax
mov edi, ecx
mov ebx, dword [ebp - 0xc34]
mov dword [ebp - 0xc4c], 4
mov dword [ebp - 0xbe8], 1
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xa20], eax
mov byte [edi + 4], 0x4e
mov eax, dword [edi + 4]
xor ah, ah
or ah, 0x37
mov dword [edi + 4], eax
add esp, 0xfffffff8
push 0x7fff
mov edx, dword [ebp - 0xc4c]
push dword [ebx + edx]
call fcn.0047a7b0
mov byte [edi + 6], al
add esp, 0xfffffff8
push 0x7fff
mov ecx, dword [ebp - 0xc4c]
push dword [ebx + ecx]
call fcn.0047a7b0
shr eax, 8
mov byte [edi + 7], al
add esp, 0x20
cmp dword [0x4d5448], 0
jle 0x477e77
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x477e6c
mov dword [ebp - 0xa20], eax
jmp 0x477e77
mov eax, dword [ebp - 0xa20]
mov dword [0x58d880], eax
add esp, 0xfffffff4
mov eax, dword [ebp - 0xc24]
push eax
call fcn.0043fbac
add esp, 0x10
add dword [ebp - 0xc4c], 4
dec dword [ebp - 0xbe8]
jns 0x477df8
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xa28], eax
mov byte [esi + 4], 0x4e
mov eax, dword [esi + 4]
xor ah, ah
or ah, 0x37
mov dword [esi + 4], eax
add esp, 0xfffffff8
push 1
push dword [ebp - 0x74]
call fcn.0047a7b0
mov byte [esi + 6], al
add esp, 0xfffffff8
push 1
push dword [ebp - 0x74]
call fcn.0047a7b0
shr eax, 8
mov byte [esi + 7], al
add esp, 0x20
cmp dword [0x4d5448], 0
jle 0x477f07
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x477efc
mov dword [ebp - 0xa28], eax
jmp 0x477f07
mov eax, dword [ebp - 0xa28]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push esi
call fcn.0043fbac
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xa30], eax
mov edx, dword [ebp - 0xc20]
mov byte [edx + 4], 0x4e
mov eax, dword [edx + 4]
xor ah, ah
or ah, 0x15
mov dword [edx + 4], eax
add esp, 0xfffffff4
push dword [ebp - 0x70]
call sub.msvcrt.dll_atoi
mov ecx, dword [ebp - 0xc20]
mov byte [ecx + 6], al
add esp, 0x20
add esp, 0xfffffff4
push dword [ebp - 0x70]
call sub.msvcrt.dll_atoi
shr eax, 8
mov edx, dword [ebp - 0xc20]
mov byte [edx + 7], al
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x477f8b
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x477f80
mov dword [ebp - 0xa30], eax
jmp 0x477f8b
mov eax, dword [ebp - 0xa30]
mov dword [0x58d880], eax
add esp, 0xfffffff4
mov ecx, dword [ebp - 0xc20]
push ecx
jmp 0x479d83
add esp, 0xfffffffc
push 0x20
lea ebx, [ebp - 0x80]
push ebx
push edi
call fcn.0047b344
mov esi, eax
mov dword [ebp - 0xbe8], 0
add esp, 0x10
mov dword [ebp - 0xc34], ebx
lea edi, [ebp - 0xa40]
cmp dword [ebp - 0xbe8], esi
jge 0x478084
lea ebx, [ebp - 0xa38]
mov dword [ebp - 0xc48], 0
mov dword [ebp - 0xbe8], esi
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xa38], eax
mov byte [ebx + 4], 0x4e
mov eax, dword [ebx + 4]
xor ah, ah
or ah, 0x37
mov dword [ebx + 4], eax
add esp, 0xfffffff4
mov eax, dword [ebp - 0xc48]
push dword [ebp + eax - 0x80]
call fcn.0047a708
mov byte [ebx + 6], al
add esp, 0xfffffff4
mov edx, dword [ebp - 0xc48]
push dword [ebp + edx - 0x80]
call fcn.0047a708
shr eax, 8
mov byte [ebx + 7], al
add esp, 0x20
cmp dword [0x4d5448], 0
jle 0x47805f
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x478054
mov dword [ebp - 0xa38], eax
jmp 0x47805f
mov eax, dword [ebp - 0xa38]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push ebx
call fcn.0043fbac
add esp, 0x10
add dword [ebp - 0xc48], 4
dec dword [ebp - 0xbe8]
jne 0x477fe8
mov dword [ebp - 0xbe8], esi
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xa40], eax
mov byte [edi + 4], 0x4e
mov eax, dword [edi + 4]
xor ah, ah
or ah, 0x16
mov dword [edi + 4], eax
add esp, 0xfffffff4
mov ebx, dword [ebp - 0xbe8]
shl ebx, 2
mov ecx, dword [ebp - 0xc34]
push dword [ebx + ecx]
call sub.msvcrt.dll_atoi
mov byte [edi + 6], al
add esp, 0xfffffff4
mov eax, dword [ebp - 0xc34]
push dword [ebx + eax]
call sub.msvcrt.dll_atoi
shr eax, 8
mov byte [edi + 7], al
add esp, 0x20
cmp dword [0x4d5448], 0
jle 0x4780ff
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x4780f4
mov dword [ebp - 0xa40], eax
jmp 0x4780ff
mov eax, dword [ebp - 0xa40]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push edi
jmp 0x479d83
add esp, 0xfffffff4
push edi
call sub.msvcrt.dll_atoi
mov dword [ebp - 0x9c], eax
add esp, 0x10
jmp case.0x476d90.20
add esp, 0xfffffffc
push 0x11
lea ebx, [ebp - 0x80]
push ebx
push edi
call fcn.0047b344
mov esi, eax
lea eax, [esi - 0x10]
add esp, 0x10
mov dword [ebp - 0xc34], ebx
cmp eax, 1
ja case.0x476d90.20
cmp esi, 0x10
jne 0x4781b4
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xa48], eax
lea eax, [ebp - 0xa48]
mov byte [eax + 4], 0x4e
mov edx, dword [eax + 4]
or dh, 0x37
and edx, 0x37ff
mov dword [eax + 4], edx
mov edx, eax
cmp dword [0x4d5448], 0
jle 0x47819b
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x478190
mov dword [ebp - 0xa48], eax
jmp 0x47819b
mov eax, dword [ebp - 0xa48]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push edx
call fcn.0043fbac
mov dword [ebp - 0xbe8], 0
jmp 0x47824a
mov eax, dword [ebp - 0x80]
cmp byte [eax], 0x23
jne 0x4781c4
add esp, 0xfffffff4
inc eax
jmp 0x4781c7
add esp, 0xfffffff4
push eax
call sub.msvcrt.dll_atoi
mov edi, eax
add esp, 0x10
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xa50], eax
lea edx, [ebp - 0xa50]
mov byte [edx + 4], 0x4e
mov ebx, dword [edx + 4]
or bh, 0x37
mov ecx, edi
shl ecx, 0x10
and ecx, 0xff0000
and ebx, 0x37ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ebx, ecx
or ebx, eax
mov dword [edx + 4], ebx
cmp dword [0x4d5448], 0
jle 0x478237
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x47822c
mov dword [ebp - 0xa50], eax
jmp 0x478237
mov eax, dword [ebp - 0xa50]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push edx
call fcn.0043fbac
mov dword [ebp - 0xbe8], 1
add esp, 0x10
dec esi
mov dword [ebp - 0xc44], esi
lea esi, [ebp - 0xa60]
mov edx, dword [ebp - 0xc44]
cmp dword [ebp - 0xbe8], edx
jge 0x478323
lea ebx, [ebp - 0xa58]
mov esi, esi
mov ecx, dword [ebp - 0xbe8]
mov edx, dword [ebp - 0xc34]
mov eax, dword [edx + ecx*4]
cmp byte [eax], 0
jne 0x47828c
xor edi, edi
jmp 0x47829a
add esp, 0xfffffff4
push eax
call fcn.0047a708
mov edi, eax
add esp, 0x10
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xa58], eax
mov byte [ebx + 4], 0x4e
mov ecx, dword [ebx + 4]
or ch, 0x37
mov edx, edi
shl edx, 0x10
and edx, 0xff0000
and ecx, 0x37ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ecx, edx
or ecx, eax
mov dword [ebx + 4], ecx
lea edx, [ebp - 0xa58]
cmp dword [0x4d5448], 0
jle 0x4782ff
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x4782f4
mov dword [ebp - 0xa58], eax
jmp 0x4782ff
mov eax, dword [ebp - 0xa58]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push edx
call fcn.0043fbac
add esp, 0x10
inc dword [ebp - 0xbe8]
mov ecx, dword [ebp - 0xc44]
cmp dword [ebp - 0xbe8], ecx
jl 0x478274
mov edx, dword [ebp - 0xbe8]
mov ecx, dword [ebp - 0xc34]
mov eax, dword [ecx + edx*4]
cmp byte [eax], 0
jne 0x47833c
xor edi, edi
jmp 0x47834a
add esp, 0xfffffff4
push eax
call fcn.0047a708
mov edi, eax
add esp, 0x10
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xa60], eax
mov byte [esi + 4], 0x4e
mov ecx, dword [esi + 4]
or ch, 0x18
mov edx, edi
shl edx, 0x10
and edx, 0xff0000
and ecx, 0x18ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ecx, edx
or ecx, eax
mov dword [esi + 4], ecx
cmp dword [0x4d5448], 0
jle 0x479d7f
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x4783a8
mov dword [ebp - 0xa60], eax
jmp 0x479d7f
mov eax, dword [ebp - 0xa60]
jmp 0x479d7a
push 0
lea ebx, [ebp - 0xa68]
push ebx
push edi
push 0x4e
call fcn.0043fd20
mov byte [ebx + 5], 0x19
mov edx, dword [ebp - 0x8c0]
mov dword [ebp - 0xa68], edx
add esp, 0x10
mov ecx, ebx
cmp dword [0x4d5448], 0
jle 0x47859a
mov eax, dword [0x58d880]
cmp edx, eax
jge 0x478594
mov dword [ebp - 0xa68], eax
jmp 0x47859a
add esp, 0xfffffff4
push edi
call sub.msvcrt.dll_atoi
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xa70], eax
lea edx, [ebp - 0xa70]
mov byte [edx + 4], 0x4e
mov ebx, dword [edx + 4]
or bh, 0x1a
mov ecx, edi
shl ecx, 0x10
and ecx, 0xff0000
and ebx, 0x1aff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ebx, ecx
or ebx, eax
mov dword [edx + 4], ebx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x479c17
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x478470
mov dword [ebp - 0xa70], eax
jmp 0x479c17
mov eax, dword [ebp - 0xa70]
jmp 0x479c12
push 0
lea ebx, [ebp - 0xa78]
push ebx
push edi
push 0x4e
call fcn.0043fd20
mov byte [ebx + 5], 0x1b
mov edx, dword [ebp - 0x8c0]
mov dword [ebp - 0xa78], edx
add esp, 0x10
mov ecx, ebx
cmp dword [0x4d5448], 0
jle 0x47859a
mov eax, dword [0x58d880]
cmp edx, eax
jge 0x478594
mov dword [ebp - 0xa78], eax
jmp 0x47859a
push 0
lea ebx, [ebp - 0xa80]
push ebx
push edi
push 0x4e
call fcn.0043fd20
mov byte [ebx + 5], 0x1c
mov edx, dword [ebp - 0x8c0]
mov dword [ebp - 0xa80], edx
add esp, 0x10
mov ecx, ebx
cmp dword [0x4d5448], 0
jle 0x47859a
mov eax, dword [0x58d880]
cmp edx, eax
jge 0x478594
mov dword [ebp - 0xa80], eax
jmp 0x47859a
push 0
lea ebx, [ebp - 0xa88]
push ebx
push edi
push 0x4e
call fcn.0043fd20
mov byte [ebx + 5], 0x1d
mov edx, dword [ebp - 0x8c0]
mov dword [ebp - 0xa88], edx
add esp, 0x10
mov ecx, ebx
cmp dword [0x4d5448], 0
jle 0x47859a
mov eax, dword [0x58d880]
cmp edx, eax
jge 0x478594
mov dword [ebp - 0xa88], eax
jmp 0x47859a
push 0
lea ebx, [ebp - 0xa90]
push ebx
push edi
push 0x4e
call fcn.0043fd20
mov byte [ebx + 5], 0x1e
mov edx, dword [ebp - 0x8c0]
mov dword [ebp - 0xa90], edx
add esp, 0x10
mov ecx, ebx
cmp dword [0x4d5448], 0
jle 0x47859a
mov eax, dword [0x58d880]
cmp edx, eax
jge 0x478594
mov dword [ebp - 0xa90], eax
jmp 0x47859a
mov dword [0x58d880], edx
add esp, 0xfffffff4
push ecx
jmp 0x479d83
add esp, 0xfffffffc
push 2
lea eax, [ebp - 0x80]
push eax
push edi
call fcn.0047b344
add esp, 0xfffffff4
push dword [ebp - 0x80]
call sub.msvcrt.dll_atoi
mov edi, eax
add esp, 0x20
cmp dword [0x4d5448], 8
jle 0x4785fb
cmp edi, 5
jne 0x4785fb
cmp dword [ebp - 0x98], 1
jne 0x4785fb
mov eax, dword [0x4c523c]
push dword [0x58d870]
push 0x476850
push 2
push 1
mov eax, dword [eax + 0x28]
call eax
mov edi, 4
add esp, 0x10
add esp, 0xfffffffc
add esp, 0xfffffff4
push dword [ebp - 0x7c]
call sub.msvcrt.dll_atoi
push eax
push edi
lea eax, [ebp - 0x8c0]
push eax
call fcn.0047a61c
add esp, 0x20
jmp case.0x476d90.20
add esp, 0xfffffffc
push 7
lea eax, [ebp - 0x80]
push eax
push edi
call fcn.0047b344
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xa98], eax
lea ebx, [ebp - 0xa98]
mov byte [ebx + 4], 0x4e
mov eax, dword [ebx + 4]
xor ah, ah
or ah, 0x37
mov dword [ebx + 4], eax
add esp, 0xfffffff8
push 1
push dword [ebp - 0x80]
call fcn.0047a7b0
mov byte [ebx + 6], al
add esp, 0x20
add esp, 0xfffffff8
push 1
push dword [ebp - 0x80]
call fcn.0047a7b0
shr eax, 8
mov byte [ebx + 7], al
add esp, 0x10
mov edx, ebx
cmp dword [0x4d5448], 0
jle 0x4786a7
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x47869c
mov dword [ebp - 0xa98], eax
jmp 0x4786a7
mov eax, dword [ebp - 0xa98]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push edx
call fcn.0043fbac
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xaa0], eax
lea ebx, [ebp - 0xaa0]
mov byte [ebx + 4], 0x4e
mov eax, dword [ebx + 4]
xor ah, ah
or ah, 0x37
mov dword [ebx + 4], eax
add esp, 0xfffffff8
push 1
push dword [ebp - 0x7c]
call fcn.0047a7b0
mov byte [ebx + 6], al
add esp, 0x20
add esp, 0xfffffff8
push 1
push dword [ebp - 0x7c]
call fcn.0047a7b0
shr eax, 8
mov byte [ebx + 7], al
add esp, 0x10
mov edx, ebx
cmp dword [0x4d5448], 0
jle 0x478727
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x47871c
mov dword [ebp - 0xaa0], eax
jmp 0x478727
mov eax, dword [ebp - 0xaa0]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push edx
call fcn.0043fbac
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xaa8], eax
lea ebx, [ebp - 0xaa8]
mov byte [ebx + 4], 0x4e
mov eax, dword [ebx + 4]
xor ah, ah
or ah, 0x37
mov dword [ebx + 4], eax
add esp, 0xfffffff8
push 0x50
push dword [ebp - 0x78]
call fcn.0047a7b0
mov byte [ebx + 6], al
add esp, 0x20
add esp, 0xfffffff8
push 0x50
push dword [ebp - 0x78]
call fcn.0047a7b0
shr eax, 8
mov byte [ebx + 7], al
add esp, 0x10
mov edx, ebx
cmp dword [0x4d5448], 0
jle 0x4787a7
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x47879c
mov dword [ebp - 0xaa8], eax
jmp 0x4787a7
mov eax, dword [ebp - 0xaa8]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push edx
call fcn.0043fbac
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xab0], eax
lea ebx, [ebp - 0xab0]
mov byte [ebx + 4], 0x4e
mov eax, dword [ebx + 4]
xor ah, ah
or ah, 0x37
mov dword [ebx + 4], eax
add esp, 0xfffffff8
push 0x19
push dword [ebp - 0x74]
call fcn.0047a7b0
mov byte [ebx + 6], al
add esp, 0x20
add esp, 0xfffffff8
push 0x19
push dword [ebp - 0x74]
call fcn.0047a7b0
shr eax, 8
mov byte [ebx + 7], al
add esp, 0x10
mov edx, ebx
cmp dword [0x4d5448], 0
jle 0x478827
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x47881c
mov dword [ebp - 0xab0], eax
jmp 0x478827
mov eax, dword [ebp - 0xab0]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push edx
call fcn.0043fbac
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xab8], eax
lea ebx, [ebp - 0xab8]
mov byte [ebx + 4], 0x4e
mov eax, dword [ebx + 4]
xor ah, ah
or ah, 0x37
mov dword [ebx + 4], eax
add esp, 0xfffffff8
push 0
push dword [ebp - 0x70]
call fcn.0047a7b0
mov byte [ebx + 6], al
add esp, 0x20
add esp, 0xfffffff8
push 0
push dword [ebp - 0x70]
call fcn.0047a7b0
shr eax, 8
mov byte [ebx + 7], al
add esp, 0x10
mov edx, ebx
cmp dword [0x4d5448], 0
jle 0x4788a7
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x47889c
mov dword [ebp - 0xab8], eax
jmp 0x4788a7
mov eax, dword [ebp - 0xab8]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push edx
call fcn.0043fbac
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xac0], eax
lea ebx, [ebp - 0xac0]
mov byte [ebx + 4], 0x4e
mov eax, dword [ebx + 4]
xor ah, ah
or ah, 0x37
mov dword [ebx + 4], eax
add esp, 0xfffffff8
push 0
push dword [ebp - 0x6c]
call fcn.0047a7b0
mov byte [ebx + 6], al
add esp, 0x20
add esp, 0xfffffff8
push 0
push dword [ebp - 0x6c]
call fcn.0047a7b0
shr eax, 8
mov byte [ebx + 7], al
add esp, 0x10
mov edx, ebx
cmp dword [0x4d5448], 0
jle 0x478927
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x47891c
mov dword [ebp - 0xac0], eax
jmp 0x478927
mov eax, dword [ebp - 0xac0]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push edx
call fcn.0043fbac
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xac8], eax
lea ebx, [ebp - 0xac8]
mov byte [ebx + 4], 0x4e
mov eax, dword [ebx + 4]
xor ah, ah
or ah, 0x21
mov dword [ebx + 4], eax
add esp, 0xfffffff8
push 0x20
push dword [ebp - 0x68]
call fcn.0047a7b0
mov byte [ebx + 6], al
add esp, 0x20
add esp, 0xfffffff8
push 0x20
push dword [ebp - 0x68]
call fcn.0047a7b0
shr eax, 8
mov byte [ebx + 7], al
add esp, 0x10
mov edx, ebx
cmp dword [0x4d5448], 0
jle 0x479c17
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x4789a4
mov dword [ebp - 0xac8], eax
jmp 0x479c17
mov eax, dword [ebp - 0xac8]
jmp 0x479c12
add esp, 0xfffffff4
push edi
call sub.msvcrt.dll_atoi
mov ebx, eax
mov dword [0x58d740], ebx
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xad0], eax
lea ecx, [ebp - 0xad0]
mov byte [ecx + 4], 0x4e
mov eax, dword [ecx + 4]
or ah, 0x22
movzx edx, byte [0x58d740]
shl edx, 0x10
and eax, 0xff0022ff
or eax, edx
mov edx, ebx
shr edx, 8
shl edx, 0x18
and eax, 0xffffff
or eax, edx
mov dword [ecx + 4], eax
add esp, 0x10
mov edx, ecx
cmp dword [0x4d5448], 0
jle 0x479c17
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x478a2c
mov dword [ebp - 0xad0], eax
jmp 0x479c17
mov eax, dword [ebp - 0xad0]
jmp 0x479c12
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xad8], eax
lea edx, [ebp - 0xad8]
mov byte [edx + 4], 0xff
movzx eax, byte [edx + 4]
mov dword [edx + 4], eax
jmp 0x479c17
add esp, 0xfffffffc
push 6
lea eax, [ebp - 0x80]
push eax
push edi
call fcn.0047b344
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xae0], eax
lea ebx, [ebp - 0xae0]
mov byte [ebx + 4], 0x4e
mov eax, dword [ebx + 4]
xor ah, ah
or ah, 0x37
mov dword [ebx + 4], eax
add esp, 0xfffffff8
push 1
push dword [ebp - 0x80]
call fcn.0047a7b0
mov byte [ebx + 6], al
add esp, 0x20
add esp, 0xfffffff8
push 1
push dword [ebp - 0x80]
call fcn.0047a7b0
shr eax, 8
mov byte [ebx + 7], al
add esp, 0x10
mov edx, ebx
cmp dword [0x4d5448], 0
jle 0x478ae3
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x478ad8
mov dword [ebp - 0xae0], eax
jmp 0x478ae3
mov eax, dword [ebp - 0xae0]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push edx
call fcn.0043fbac
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xae8], eax
lea ebx, [ebp - 0xae8]
mov byte [ebx + 4], 0x4e
mov eax, dword [ebx + 4]
xor ah, ah
or ah, 0x37
mov dword [ebx + 4], eax
add esp, 0xfffffff8
push 1
push dword [ebp - 0x7c]
call fcn.0047a7b0
mov byte [ebx + 6], al
add esp, 0x20
add esp, 0xfffffff8
push 1
push dword [ebp - 0x7c]
call fcn.0047a7b0
shr eax, 8
mov byte [ebx + 7], al
add esp, 0x10
mov edx, ebx
cmp dword [0x4d5448], 0
jle 0x478b63
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x478b58
mov dword [ebp - 0xae8], eax
jmp 0x478b63
mov eax, dword [ebp - 0xae8]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push edx
call fcn.0043fbac
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xaf0], eax
lea ebx, [ebp - 0xaf0]
mov byte [ebx + 4], 0x4e
mov eax, dword [ebx + 4]
xor ah, ah
or ah, 0x37
mov dword [ebx + 4], eax
add esp, 0xfffffff8
push 0x50
push dword [ebp - 0x78]
call fcn.0047a7b0
mov byte [ebx + 6], al
add esp, 0x20
add esp, 0xfffffff8
push 0x50
push dword [ebp - 0x78]
call fcn.0047a7b0
shr eax, 8
mov byte [ebx + 7], al
add esp, 0x10
mov edx, ebx
cmp dword [0x4d5448], 0
jle 0x478be3
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x478bd8
mov dword [ebp - 0xaf0], eax
jmp 0x478be3
mov eax, dword [ebp - 0xaf0]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push edx
call fcn.0043fbac
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xaf8], eax
lea ebx, [ebp - 0xaf8]
mov byte [ebx + 4], 0x4e
mov eax, dword [ebx + 4]
xor ah, ah
or ah, 0x37
mov dword [ebx + 4], eax
add esp, 0xfffffff8
push 0x19
push dword [ebp - 0x74]
call fcn.0047a7b0
mov byte [ebx + 6], al
add esp, 0x20
add esp, 0xfffffff8
push 0x19
push dword [ebp - 0x74]
call fcn.0047a7b0
shr eax, 8
mov byte [ebx + 7], al
add esp, 0x10
mov edx, ebx
cmp dword [0x4d5448], 0
jle 0x478c63
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x478c58
mov dword [ebp - 0xaf8], eax
jmp 0x478c63
mov eax, dword [ebp - 0xaf8]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push edx
call fcn.0043fbac
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xb00], eax
lea ebx, [ebp - 0xb00]
mov byte [ebx + 4], 0x4e
mov eax, dword [ebx + 4]
xor ah, ah
or ah, 0x37
mov dword [ebx + 4], eax
add esp, 0xfffffff8
push 0
push dword [ebp - 0x70]
call fcn.0047a7b0
mov byte [ebx + 6], al
add esp, 0x20
add esp, 0xfffffff8
push 0
push dword [ebp - 0x70]
call fcn.0047a7b0
shr eax, 8
mov byte [ebx + 7], al
add esp, 0x10
mov edx, ebx
cmp dword [0x4d5448], 0
jle 0x478ce3
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x478cd8
mov dword [ebp - 0xb00], eax
jmp 0x478ce3
mov eax, dword [ebp - 0xb00]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push edx
call fcn.0043fbac
add esp, 0xfffffff8
push 0x20
push dword [ebp - 0x6c]
call fcn.0047a7b0
mov dword [ebp - 0xbe8], eax
add esp, 0x20
test eax, eax
jne 0x478d10
mov dword [ebp - 0xbe8], 0x20
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xb08], eax
lea edx, [ebp - 0xb08]
mov byte [edx + 4], 0x4e
mov ebx, dword [edx + 4]
or bh, 0x24
mov ecx, dword [ebp - 0xbe8]
shl ecx, 0x10
and ecx, 0xff0000
and ebx, 0x24ff
mov eax, dword [ebp - 0xbe8]
shr eax, 8
shl eax, 0x18
or ebx, ecx
or ebx, eax
mov dword [edx + 4], ebx
cmp dword [0x4d5448], 0
jle 0x479c17
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x478d7c
mov dword [ebp - 0xb08], eax
jmp 0x479c17
mov eax, dword [ebp - 0xb08]
jmp 0x479c12
add esp, 0xfffffff4
push edi
call sub.msvcrt.dll_atoi
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xb10], eax
lea edx, [ebp - 0xb10]
mov byte [edx + 4], 0x4e
mov ebx, dword [edx + 4]
or bh, 0x25
mov ecx, edi
shl ecx, 0x10
and ecx, 0xff0000
and ebx, 0x25ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ebx, ecx
or ebx, eax
mov dword [edx + 4], ebx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x479c17
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x478df8
mov dword [ebp - 0xb10], eax
jmp 0x479c17
mov eax, dword [ebp - 0xb10]
jmp 0x479c12
add esp, 0xfffffffc
push 2
lea eax, [ebp - 0x80]
push eax
push edi
call fcn.0047b344
add esp, 0xfffffffc
add esp, 0xfffffff4
push dword [ebp - 0x7c]
call sub.msvcrt.dll_atoi
push eax
add esp, 0xfffffff4
push dword [ebp - 0x80]
call sub.msvcrt.dll_atoi
add esp, 0x10
push eax
lea edx, [ebp - 0x8c0]
push edx
call fcn.0047a584
add esp, 0x30
jmp case.0x476d90.20
add esp, 0xfffffffc
push 2
lea eax, [ebp - 0x80]
push eax
push edi
call fcn.0047b344
mov esi, eax
add esp, 0xfffffff8
push dword [ebp - 0x98]
push dword [ebp - 0x80]
call fcn.0047a7b0
mov dword [ebp - 0x98], eax
add esp, 0x20
add esp, 0xfffffff8
push dword [ebp - 0x94]
push dword [ebp - 0x7c]
call fcn.0047a7b0
mov dword [ebp - 0x94], eax
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x478eb1
mov eax, dword [0x58d740]
test eax, eax
jle 0x478ea6
cmp eax, 0x190
jne 0x478eb1
mov eax, dword [ebp - 0x8b8]
mov dword [0x58d730], eax
mov edx, dword [ebp - 0x98]
cmp esi, 1
jne 0x478ed4
test edx, edx
jne 0x478ed4
mov eax, dword [ebp - 0x8ac]
mov dword [ebp - 0x8b8], eax
jmp case.0x476d90.20
lea eax, [edx - 1]
cmp eax, 0xfe
jbe 0x478f18
add esp, 0xfffffff8
mov eax, dword [0x4c523c]
push dword [0x58d870]
push dword [ebp - 0x94]
push edx
push 0x476890
push 0
push 1
mov eax, dword [eax + 0x28]
call eax
mov eax, dword [ebp - 0x8ac]
mov dword [ebp - 0x8b8], eax
add esp, 0x20
jmp case.0x476d90.20
lea ebx, [edx + 1]
imul ebx, dword [ebp - 0xa0]
mov ecx, 0x2aaaaaab
mov eax, ecx
imul ebx
mov ecx, edx
sar ecx, 2
mov edx, ebx
sar edx, 0x1f
sub ecx, edx
mov dword [ebp - 0x8b8], ecx
jmp case.0x476d90.20
mov edi, 0x58d761
movzx eax, byte [0x58d760]
add eax, 0xffffffd8
cmp eax, 0xe
ja case.default.0x478f5c
jmp dword [eax*4 + 0x478f64]
add esp, 0xfffffff4
push edi
call fcn.0047a778
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xb18], eax
lea edx, [ebp - 0xb18]
mov byte [edx + 4], 0x4e
mov ebx, dword [edx + 4]
or bh, 0x28
mov ecx, edi
shl ecx, 0x10
and ecx, 0xff0000
and ebx, 0x28ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ebx, ecx
or ebx, eax
mov dword [edx + 4], ebx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x479c17
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x479010
mov dword [ebp - 0xb18], eax
jmp 0x479c17
mov eax, dword [ebp - 0xb18]
jmp 0x479c12
add esp, 0xfffffffc
push 4
lea ebx, [ebp - 0x80]
push ebx
push edi
call fcn.0047b344
mov esi, eax
add esp, 0x10
mov dword [ebp - 0xc34], ebx
cmp esi, 4
jne case.0x476d90.20
mov dword [ebp - 0xbe8], 0
lea ecx, [ebp - 0xb20]
mov dword [ebp - 0xc1c], ecx
lea esi, [ebp - 0xb28]
mov ebx, ecx
lea esi, [esi]
add esp, 0xfffffff4
mov eax, dword [ebp - 0xbe8]
mov edx, dword [ebp - 0xc34]
push dword [edx + eax*4]
call fcn.0047a778
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xb20], eax
mov byte [ebx + 4], 0x4e
mov ecx, dword [ebx + 4]
or ch, 0x37
mov edx, edi
shl edx, 0x10
and edx, 0xff0000
and ecx, 0x37ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ecx, edx
or ecx, eax
mov dword [ebx + 4], ecx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x4790db
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x4790d0
mov dword [ebp - 0xb20], eax
jmp 0x4790db
mov eax, dword [ebp - 0xb20]
mov dword [0x58d880], eax
add esp, 0xfffffff4
mov ecx, dword [ebp - 0xc1c]
push ecx
call fcn.0043fbac
add esp, 0x10
inc dword [ebp - 0xbe8]
cmp dword [ebp - 0xbe8], 2
jle 0x479060
add esp, 0xfffffff4
mov eax, dword [ebp - 0xbe8]
mov edx, dword [ebp - 0xc34]
push dword [edx + eax*4]
call fcn.0047a778
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xb28], eax
mov byte [esi + 4], 0x4e
mov ecx, dword [esi + 4]
or ch, 0x29
mov edx, edi
shl edx, 0x10
and edx, 0xff0000
and ecx, 0x29ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ecx, edx
or ecx, eax
mov dword [esi + 4], ecx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x479d7f
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x479178
mov dword [ebp - 0xb28], eax
jmp 0x479d7f
mov eax, dword [ebp - 0xb28]
jmp 0x479d7a
add esp, 0xfffffffc
push 0x11
lea ebx, [ebp - 0x80]
push ebx
push edi
call fcn.0047b344
mov esi, eax
add esp, 0x10
mov dword [ebp - 0xc34], ebx
cmp esi, 0x11
jne case.0x476d90.20
mov dword [ebp - 0xbe8], 0
lea ecx, [ebp - 0xb30]
mov dword [ebp - 0xc18], ecx
lea esi, [ebp - 0xb38]
mov ebx, ecx
lea esi, [esi]
add esp, 0xfffffff4
mov eax, dword [ebp - 0xbe8]
mov edx, dword [ebp - 0xc34]
push dword [edx + eax*4]
call fcn.0047a778
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xb30], eax
mov byte [ebx + 4], 0x4e
mov ecx, dword [ebx + 4]
or ch, 0x37
mov edx, edi
shl edx, 0x10
and edx, 0xff0000
and ecx, 0x37ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ecx, edx
or ecx, eax
mov dword [ebx + 4], ecx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x479243
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x479238
mov dword [ebp - 0xb30], eax
jmp 0x479243
mov eax, dword [ebp - 0xb30]
mov dword [0x58d880], eax
add esp, 0xfffffff4
mov ecx, dword [ebp - 0xc18]
push ecx
call fcn.0043fbac
add esp, 0x10
inc dword [ebp - 0xbe8]
cmp dword [ebp - 0xbe8], 0xf
jle 0x4791c8
add esp, 0xfffffff4
mov eax, dword [ebp - 0xbe8]
mov edx, dword [ebp - 0xc34]
push dword [edx + eax*4]
call fcn.0047a778
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xb38], eax
mov byte [esi + 4], 0x4e
mov ecx, dword [esi + 4]
or ch, 0x2a
mov edx, edi
shl edx, 0x10
and edx, 0xff0000
and ecx, 0x2aff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ecx, edx
or ecx, eax
mov dword [esi + 4], ecx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x479d7f
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x4792e0
mov dword [ebp - 0xb38], eax
jmp 0x479d7f
mov eax, dword [ebp - 0xb38]
jmp 0x479d7a
add esp, 0xfffffff4
push edi
call fcn.0047a778
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xb40], eax
lea edx, [ebp - 0xb40]
mov byte [edx + 4], 0x4e
mov ebx, dword [edx + 4]
or bh, 0x2b
mov ecx, edi
shl ecx, 0x10
and ecx, 0xff0000
and ebx, 0x2bff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ebx, ecx
or ebx, eax
mov dword [edx + 4], ebx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x479c17
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x47935c
mov dword [ebp - 0xb40], eax
jmp 0x479c17
mov eax, dword [ebp - 0xb40]
jmp 0x479c12
add esp, 0xfffffff4
push edi
call fcn.0047a778
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xb48], eax
lea edx, [ebp - 0xb48]
mov byte [edx + 4], 0x4e
mov ebx, dword [edx + 4]
or bh, 0x2c
mov ecx, edi
shl ecx, 0x10
and ecx, 0xff0000
and ebx, 0x2cff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ebx, ecx
or ebx, eax
mov dword [edx + 4], ebx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x479c17
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x4793d8
mov dword [ebp - 0xb48], eax
jmp 0x479c17
mov eax, dword [ebp - 0xb48]
jmp 0x479c12
add esp, 0xfffffffc
push 2
lea eax, [ebp - 0x80]
push eax
push edi
call fcn.0047b344
mov esi, eax
add esp, 0x10
cmp esi, 2
jne case.0x476d90.20
add esp, 0xfffffff4
push dword [ebp - 0x80]
call fcn.0047a778
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xb50], eax
lea edx, [ebp - 0xb50]
mov byte [edx + 4], 0x4e
mov ebx, dword [edx + 4]
or bh, 0x37
mov ecx, edi
shl ecx, 0x10
and ecx, 0xff0000
and ebx, 0x37ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ebx, ecx
or ebx, eax
mov dword [edx + 4], ebx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x479477
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x47946c
mov dword [ebp - 0xb50], eax
jmp 0x479477
mov eax, dword [ebp - 0xb50]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push edx
call fcn.0043fbac
add esp, 0xfffffff4
push dword [ebp - 0x7c]
call fcn.0047a778
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xb58], eax
lea edx, [ebp - 0xb58]
mov byte [edx + 4], 0x4e
mov ebx, dword [edx + 4]
or bh, 0x2d
mov ecx, edi
shl ecx, 0x10
and ecx, 0xff0000
and ebx, 0x2dff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ebx, ecx
or ebx, eax
mov dword [edx + 4], ebx
add esp, 0x20
cmp dword [0x4d5448], 0
jle 0x479c17
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x4794f4
mov dword [ebp - 0xb58], eax
jmp 0x479c17
mov eax, dword [ebp - 0xb58]
jmp 0x479c12
add esp, 0xfffffffc
push 0x11
lea ebx, [ebp - 0x80]
push ebx
push edi
call fcn.0047b344
mov esi, eax
add esp, 0x10
mov dword [ebp - 0xc34], ebx
cmp esi, 1
jle case.0x476d90.20
mov dword [ebp - 0xbe8], 0
lea ecx, [ebp - 0xb60]
mov dword [ebp - 0xc14], ecx
lea esi, [ebp - 0xb68]
mov ebx, ecx
lea esi, [esi]
add esp, 0xfffffff4
mov eax, dword [ebp - 0xbe8]
mov edx, dword [ebp - 0xc34]
push dword [edx + eax*4]
call fcn.0047a778
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xb60], eax
mov byte [ebx + 4], 0x4e
mov ecx, dword [ebx + 4]
or ch, 0x37
mov edx, edi
shl edx, 0x10
and edx, 0xff0000
and ecx, 0x37ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ecx, edx
or ecx, eax
mov dword [ebx + 4], ecx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x4795bf
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x4795b4
mov dword [ebp - 0xb60], eax
jmp 0x4795bf
mov eax, dword [ebp - 0xb60]
mov dword [0x58d880], eax
add esp, 0xfffffff4
mov ecx, dword [ebp - 0xc14]
push ecx
call fcn.0043fbac
add esp, 0x10
inc dword [ebp - 0xbe8]
cmp dword [ebp - 0xbe8], 0xf
jle 0x479544
add esp, 0xfffffff4
mov eax, dword [ebp - 0xbe8]
mov edx, dword [ebp - 0xc34]
push dword [edx + eax*4]
call fcn.0047a778
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xb68], eax
mov byte [esi + 4], 0x4e
mov ecx, dword [esi + 4]
or ch, 0x2e
mov edx, edi
shl edx, 0x10
and edx, 0xff0000
and ecx, 0x2eff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ecx, edx
or ecx, eax
mov dword [esi + 4], ecx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x479d7f
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x47965c
mov dword [ebp - 0xb68], eax
jmp 0x479d7f
mov eax, dword [ebp - 0xb68]
jmp 0x479d7a
add esp, 0xfffffffc
push 2
lea eax, [ebp - 0x80]
push eax
push edi
call fcn.0047b344
mov esi, eax
add esp, 0x10
cmp esi, 2
jne case.0x476d90.20
add esp, 0xfffffff4
push dword [ebp - 0x80]
call fcn.0047a778
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xb70], eax
lea edx, [ebp - 0xb70]
mov byte [edx + 4], 0x4e
mov ebx, dword [edx + 4]
or bh, 0x37
mov ecx, edi
shl ecx, 0x10
and ecx, 0xff0000
and ebx, 0x37ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ebx, ecx
or ebx, eax
mov dword [edx + 4], ebx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x4796fb
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x4796f0
mov dword [ebp - 0xb70], eax
jmp 0x4796fb
mov eax, dword [ebp - 0xb70]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push edx
call fcn.0043fbac
add esp, 0xfffffff4
push dword [ebp - 0x7c]
call fcn.0047a778
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xb78], eax
lea edx, [ebp - 0xb78]
mov byte [edx + 4], 0x4e
mov ebx, dword [edx + 4]
or bh, 0x2f
mov ecx, edi
shl ecx, 0x10
and ecx, 0xff0000
and ebx, 0x2fff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ebx, ecx
or ebx, eax
mov dword [edx + 4], ebx
add esp, 0x20
cmp dword [0x4d5448], 0
jle 0x479c17
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x479778
mov dword [ebp - 0xb78], eax
jmp 0x479c17
mov eax, dword [ebp - 0xb78]
jmp 0x479c12
add esp, 0xfffffff4
push edi
call fcn.0047a778
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xb80], eax
lea edx, [ebp - 0xb80]
mov byte [edx + 4], 0x4e
mov ebx, dword [edx + 4]
or bh, 0x30
mov ecx, edi
shl ecx, 0x10
and ecx, 0xff0000
and ebx, 0x30ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ebx, ecx
or ebx, eax
mov dword [edx + 4], ebx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x479c17
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x4797f4
mov dword [ebp - 0xb80], eax
jmp 0x479c17
mov eax, dword [ebp - 0xb80]
jmp 0x479c12
add esp, 0xfffffff4
push edi
call fcn.0047a778
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xb88], eax
lea edx, [ebp - 0xb88]
mov byte [edx + 4], 0x4e
mov ebx, dword [edx + 4]
or bh, 0x31
mov ecx, edi
shl ecx, 0x10
and ecx, 0xff0000
and ebx, 0x31ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ebx, ecx
or ebx, eax
mov dword [edx + 4], ebx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x479c17
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x479870
mov dword [ebp - 0xb88], eax
jmp 0x479c17
mov eax, dword [ebp - 0xb88]
jmp 0x479c12
add esp, 0xfffffff4
push edi
call fcn.0047a778
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xb90], eax
lea edx, [ebp - 0xb90]
mov byte [edx + 4], 0x4e
mov ebx, dword [edx + 4]
or bh, 0x32
mov ecx, edi
shl ecx, 0x10
and ecx, 0xff0000
and ebx, 0x32ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ebx, ecx
or ebx, eax
mov dword [edx + 4], ebx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x479c17
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x4798ec
mov dword [ebp - 0xb90], eax
jmp 0x479c17
mov eax, dword [ebp - 0xb90]
jmp 0x479c12
add esp, 0xfffffffc
push 9
lea ebx, [ebp - 0x80]
push ebx
push edi
call fcn.0047b344
mov esi, eax
add esp, 0x10
mov dword [ebp - 0xc34], ebx
cmp esi, 9
jne case.0x476d90.20
mov dword [ebp - 0xbe8], 0
lea ecx, [ebp - 0xb98]
mov dword [ebp - 0xc10], ecx
lea esi, [ebp - 0xba0]
mov ebx, ecx
lea esi, [esi]
add esp, 0xfffffff4
mov eax, dword [ebp - 0xbe8]
mov edx, dword [ebp - 0xc34]
push dword [edx + eax*4]
call fcn.0047a778
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xb98], eax
mov byte [ebx + 4], 0x4e
mov ecx, dword [ebx + 4]
or ch, 0x37
mov edx, edi
shl edx, 0x10
and edx, 0xff0000
and ecx, 0x37ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ecx, edx
or ecx, eax
mov dword [ebx + 4], ecx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x4799b7
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x4799ac
mov dword [ebp - 0xb98], eax
jmp 0x4799b7
mov eax, dword [ebp - 0xb98]
mov dword [0x58d880], eax
add esp, 0xfffffff4
mov ecx, dword [ebp - 0xc10]
push ecx
call fcn.0043fbac
add esp, 0x10
inc dword [ebp - 0xbe8]
cmp dword [ebp - 0xbe8], 7
jle 0x47993c
add esp, 0xfffffff4
mov eax, dword [ebp - 0xbe8]
mov edx, dword [ebp - 0xc34]
push dword [edx + eax*4]
call fcn.0047a778
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xba0], eax
mov byte [esi + 4], 0x4e
mov ecx, dword [esi + 4]
or ch, 0x33
mov edx, edi
shl edx, 0x10
and edx, 0xff0000
and ecx, 0x33ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ecx, edx
or ecx, eax
mov dword [esi + 4], ecx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x479d7f
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x479a54
mov dword [ebp - 0xba0], eax
jmp 0x479d7f
mov eax, dword [ebp - 0xba0]
jmp 0x479d7a
add esp, 0xfffffffc
push 4
lea ebx, [ebp - 0x80]
push ebx
push edi
call fcn.0047b344
mov esi, eax
add esp, 0x10
mov dword [ebp - 0xc34], ebx
test esi, esi
jle case.0x476d90.20
mov dword [ebp - 0xbe8], 0
lea ecx, [ebp - 0xba8]
mov dword [ebp - 0xc0c], ecx
lea esi, [ebp - 0xbb0]
mov ebx, ecx
add esp, 0xfffffff4
mov eax, dword [ebp - 0xbe8]
mov edx, dword [ebp - 0xc34]
push dword [edx + eax*4]
call fcn.0047a778
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xba8], eax
mov byte [ebx + 4], 0x4e
mov ecx, dword [ebx + 4]
or ch, 0x37
mov edx, edi
shl edx, 0x10
and edx, 0xff0000
and ecx, 0x37ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ecx, edx
or ecx, eax
mov dword [ebx + 4], ecx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x479b1b
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x479b10
mov dword [ebp - 0xba8], eax
jmp 0x479b1b
mov eax, dword [ebp - 0xba8]
mov dword [0x58d880], eax
add esp, 0xfffffff4
mov ecx, dword [ebp - 0xc0c]
push ecx
call fcn.0043fbac
add esp, 0x10
inc dword [ebp - 0xbe8]
cmp dword [ebp - 0xbe8], 2
jle 0x479aa0
add esp, 0xfffffff4
mov eax, dword [ebp - 0xbe8]
mov edx, dword [ebp - 0xc34]
push dword [edx + eax*4]
call fcn.0047a778
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xbb0], eax
mov byte [esi + 4], 0x4e
mov ecx, dword [esi + 4]
or ch, 0x34
mov edx, edi
shl edx, 0x10
and edx, 0xff0000
and ecx, 0x34ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ecx, edx
or ecx, eax
mov dword [esi + 4], ecx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x479d7f
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x479bb8
mov dword [ebp - 0xbb0], eax
jmp 0x479d7f
mov eax, dword [ebp - 0xbb0]
jmp 0x479d7a
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xbb8], eax
lea eax, [ebp - 0xbb8]
mov byte [eax + 4], 0x4e
mov edx, dword [eax + 4]
and edx, 0x7fff35ff
or edx, 0x7fff3500
mov dword [eax + 4], edx
mov edx, eax
cmp dword [0x4d5448], 0
jle 0x479c17
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x479c0c
mov dword [ebp - 0xbb8], eax
jmp 0x479c17
mov eax, dword [ebp - 0xbb8]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push edx
jmp 0x479d83
add esp, 0xfffffffc
push 0xe
lea ebx, [ebp - 0x80]
push ebx
push edi
call fcn.0047b344
mov esi, eax
add esp, 0x10
mov dword [ebp - 0xc34], ebx
cmp esi, 8
jle case.0x476d90.20
mov dword [ebp - 0xbe8], 0
lea ecx, [ebp - 0xbc0]
mov dword [ebp - 0xc08], ecx
lea esi, [ebp - 0xbc8]
mov ebx, ecx
lea esi, [esi]
add esp, 0xfffffff4
mov eax, dword [ebp - 0xbe8]
mov edx, dword [ebp - 0xc34]
push dword [edx + eax*4]
call fcn.0047a778
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xbc0], eax
mov byte [ebx + 4], 0x4e
mov ecx, dword [ebx + 4]
or ch, 0x37
mov edx, edi
shl edx, 0x10
and edx, 0xff0000
and ecx, 0x37ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ecx, edx
or ecx, eax
mov dword [ebx + 4], ecx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x479cdf
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x479cd4
mov dword [ebp - 0xbc0], eax
jmp 0x479cdf
mov eax, dword [ebp - 0xbc0]
mov dword [0x58d880], eax
add esp, 0xfffffff4
mov ecx, dword [ebp - 0xc08]
push ecx
call fcn.0043fbac
add esp, 0x10
inc dword [ebp - 0xbe8]
cmp dword [ebp - 0xbe8], 0xc
jle 0x479c64
add esp, 0xfffffff4
mov eax, dword [ebp - 0xbe8]
mov edx, dword [ebp - 0xc34]
push dword [edx + eax*4]
call fcn.0047a778
mov edi, eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xbc8], eax
mov byte [esi + 4], 0x4e
mov ecx, dword [esi + 4]
or ch, 0x36
mov edx, edi
shl edx, 0x10
and edx, 0xff0000
and ecx, 0x36ff
mov eax, edi
shr eax, 8
shl eax, 0x18
or ecx, edx
or ecx, eax
mov dword [esi + 4], ecx
add esp, 0x10
cmp dword [0x4d5448], 0
jle 0x479d7f
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x479d74
mov dword [ebp - 0xbc8], eax
jmp 0x479d7f
mov eax, dword [ebp - 0xbc8]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push esi
call fcn.0043fbac
add esp, 0x10
jmp case.0x476d90.20
mov eax, dword [0x4c523c]
push dword [0x58d870]
push 0x4768d0
push 0
push 1
mov eax, dword [eax + 0x28]
call eax
add esp, 0x10
jmp case.0x476d90.20
mov edx, dword [0x58d730]
mov ebx, dword [ebp - 0x8b8]
test edx, edx
je 0x479dd4
mov ecx, dword [ebp - 0x8ac]
cmp edx, ecx
je 0x479dd4
mov eax, ebx
cmp eax, ecx
jne 0x479de4
add esp, 0xfffffff8
push ebx
lea ecx, [ebp - 0x8c0]
push ecx
jmp 0x479e14
cmp edx, eax
je 0x479e04
mov eax, dword [0x4c523c]
push dword [0x58d870]
push 0x476850
push 2
push 1
mov eax, dword [eax + 0x28]
call eax
add esp, 0x10
add esp, 0xfffffff8
push dword [0x58d730]
lea eax, [ebp - 0x8c0]
push eax
call fcn.0047a3ec
add esp, 0x10
mov dword [0x58d730], 0
jmp case.0x476d90.20
cmp dword [ebp - 0x94], 0
jne 0x479f10
mov edx, 0x58d760
mov edi, edx
mov al, 0
cld
mov ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
lea eax, [ecx - 1]
mov dword [ebp - 0xbe8], eax
test eax, eax
jle 0x479e7c
lea eax, [ecx - 2]
cmp byte [eax + edx], 0x3b
jne 0x479e7c
add esp, 0xfffffffc
push eax
push edx
push dword [ebp - 0x8c0]
call fcn.0047a670
add esp, 0x10
jmp case.0x476d90.20
add esp, 0xfffffffc
mov edx, dword [ebp - 0xbe8]
push edx
push 0x58d760
push dword [ebp - 0x8c0]
call fcn.0047a670
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xbd0], eax
lea eax, [ebp - 0xbd0]
mov byte [eax + 4], 0x4e
mov edx, dword [eax + 4]
and edx, 0x7fff3aff
or edx, 0x7fff3a00
mov dword [eax + 4], edx
add esp, 0x10
mov edx, eax
cmp dword [0x4d5448], 0
jle 0x479eef
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x479ee4
mov dword [ebp - 0xbd0], eax
jmp 0x479eef
mov eax, dword [ebp - 0xbd0]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push edx
call fcn.0043fbac
add esp, 0xfffffff8
push dword [ebp - 0x8b8]
lea ecx, [ebp - 0x8c0]
push ecx
jmp 0x47a0f4
mov ebx, 0x58d760
mov dword [ebp - 0xc04], 0
cmp byte [0x58d760], 0x3b
jne 0x479f34
cmp byte [ebx + 1], 0
je case.0x476d90.20
mov esi, esi
mov al, byte [ebx]
test al, al
jne 0x479f98
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xbd8], eax
lea eax, [ebp - 0xbd8]
mov byte [eax + 4], 0x4e
mov edx, dword [eax + 4]
and edx, 0x7fff3aff
or edx, 0x7fff3a00
mov dword [eax + 4], edx
mov edx, eax
cmp dword [0x4d5448], 0
jle 0x47a0db
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x479f8c
mov dword [ebp - 0xbd8], eax
jmp 0x47a0db
mov eax, dword [ebp - 0xbd8]
jmp 0x47a0d6
cmp al, 0x5c
jne 0x479fcc
inc ebx
add esp, 0xfffffffc
push 1
push ebx
push dword [ebp - 0x8c0]
call fcn.0047a670
add esp, 0xfffffff8
push dword [ebp - 0x8b8]
lea edx, [ebp - 0x8c0]
push edx
call fcn.0047a3ec
add esp, 0x20
jmp 0x47a187
cmp al, 0x7c
jne 0x47a124
inc ebx
mov edi, ebx
mov al, byte [ebx]
mov esi, dword [ebp - 0x8c0]
jmp 0x47a00b
mov cl, byte [ebx]
test cl, cl
jge 0x479ffd
mov dl, cl
and dl, 0x7f
lea eax, [edx - 1]
cmp al, 0x1e
jbe 0x47a002
lea eax, [edx - 0x60]
cmp al, 0x1c
jbe 0x47a002
cmp cl, 0x5c
jne 0x47a008
inc ebx
cmp byte [ebx], 0
je 0x47a013
inc ebx
mov al, byte [ebx]
test al, al
je 0x47a013
cmp al, 0x7c
jne 0x479fe4
mov dword [ebp - 0xbe8], ebx
sub dword [ebp - 0xbe8], edi
cmp byte [ebx], 0x7c
jne 0x47a025
inc ebx
add esp, 0xfffffffc
mov ecx, dword [ebp - 0xbe8]
push ecx
push edi
push esi
call fcn.0047a670
add esp, 0x10
cmp dword [0x4d5448], 1
jle 0x47a104
cmp dword [0x58d740], 0x1ab
jne 0x47a104
cmp dword [ebp - 0xc04], 0
jne 0x47a104
cmp byte [ebx], 0
jne 0x47a104
mov eax, dword [0x4c523c]
push dword [0x58d870]
push 0x476850
push 2
push 1
mov eax, dword [eax + 0x28]
call eax
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0xbe0], eax
lea eax, [ebp - 0xbe0]
mov byte [eax + 4], 0x4e
mov edx, dword [eax + 4]
and edx, 0x7fff3aff
or edx, 0x7fff3a00
mov dword [eax + 4], edx
add esp, 0x10
mov edx, eax
cmp dword [0x4d5448], 0
jle 0x47a0db
mov eax, dword [0x58d880]
cmp dword [ebp - 0x8c0], eax
jge 0x47a0d0
mov dword [ebp - 0xbe0], eax
jmp 0x47a0db
mov eax, dword [ebp - 0xbe0]
mov dword [0x58d880], eax
add esp, 0xfffffff4
push edx
call fcn.0043fbac
add esp, 0xfffffff8
push dword [ebp - 0x8b8]
lea eax, [ebp - 0x8c0]
push eax
call fcn.0047a3ec
add esp, 0x20
jmp case.0x476d90.20
add esp, 0xfffffff8
push dword [ebp - 0x8b8]
lea edx, [ebp - 0x8c0]
push edx
call fcn.0047a3ec
inc dword [ebp - 0xc04]
jmp 0x47a184
mov edi, ebx
test al, al
jge 0x47a13e
mov dl, al
and dl, 0x7f
lea eax, [edx - 1]
cmp al, 0x1e
jbe 0x47a13d
lea eax, [edx - 0x60]
cmp al, 0x1c
ja 0x47a13e
inc ebx
mov al, byte [ebx]
inc ebx
test al, al
je case.0x476d90.20
mov dword [ebp - 0xbe8], ebx
sub dword [ebp - 0xbe8], edi
cmp byte [edi], 0x5f
je 0x47a16f
add esp, 0xfffffffc
mov ecx, dword [ebp - 0xbe8]
push ecx
push edi
push dword [ebp - 0x8c0]
call fcn.0047a670
add esp, 0x10
add esp, 0xfffffff8
push dword [ebp - 0x8b8]
lea eax, [ebp - 0x8c0]
push eax
call fcn.0047a3ec
add esp, 0x10
cmp byte [ebx], 0x3b
jne 0x479f34
cmp byte [ebx + 1], 0
jne 0x479f34
cmp dword [0x4c7010], 0
jne case.0x476d5b.4
add esp, 0xfffffff4
mov edx, dword [ebp - 0xbe4]
push edx
call fcn.0047aa48
add esp, 0x10
test eax, eax
jne 0x476cb0
jmp case.0x476d5b.4
add esp, 0xfffffff4
lea ecx, [ebp - 0x8c0]
push ecx
call fcn.0047a374
add esp, 0x10
cmp dword [ebp - 0x90], 0
jne 0x47a1c0
add esp, 0xfffffff4
lea eax, [ebp - 0x88]
push eax
call fcn.004ba3fc
add esp, 0xfffffff4
mov edx, dword [ebp - 0xbe4]
push edx
call fcn.0040d268
mov eax, 1
lea esp, [ebp - 0xc68]
pop ebx
pop esi
pop edi
leave
ret