Function at 0x4ca0bc
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x23ac
call fcn.0054cd40
mov dword [ebp - 0x23a4], ecx
mov dword [ebp - 0x1b1c], 0
mov dword [ebp - 0x1f40], 0x20
mov dword [ebp - 0x1f30], 0
mov dword [ebp - 0x1f2c], 0
mov dword [ebp - 0x1f38], 0
mov dword [ebp - 0x1f44], 0
push 0x200
push 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
add edx, 0x5a8
push edx
call fcn.0054bfb0
add esp, 0xc
mov dword [ebp - 4], 0x30
push 0x5d9700
mov eax, dword [ebp + 8]
shl eax, 7
mov ecx, dword [ebp - 0x23a4]
lea edx, [ecx + eax + 0x250c]
push edx
call fcn.0054bec0
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
mov dword [edx + 0x258c], 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
cmp dword [edx + 0x29024], 0
je 0x4ca1ad
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
push edx
call fcn.0050c45d
add esp, 4
mov dword [ebp - 0x1f2c], eax
jmp 0x4ca1b7
mov dword [ebp - 0x1f2c], 1
mov eax, dword [ebp - 0x1f2c]
push eax
push 0x5ae3d8
lea ecx, [ebp - 0x1d20]
push ecx
call fcn.0054c45b
add esp, 0xc
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
cmp dword [ecx + 0x4764], 8
jl 0x4ca293
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
cmp dword [ecx + 0x4764], 0x1c
jg 0x4ca293
lea edx, [ebp - 0x1f20]
push edx
call fcn.0053534c
add esp, 4
push str.BOOT.BIN
lea eax, [ebp - 0x1f20]
push eax
call fcn.0054bed0
add esp, 8
lea ecx, [ebp - 0x1f20]
push ecx
call fcn.004284fc
add esp, 4
push 0x5ae3f4
lea edx, [ebp - 0x1f20]
push edx
call fcn.0054d3be
add esp, 8
mov dword [ebp - 0x1f34], eax
cmp dword [ebp - 0x1f34], 0
je 0x4ca293
mov eax, dword [ebp - 0x1f34]
push eax
push 0x1000
push 1
lea ecx, [ebp - 0x1704]
push ecx
call fcn.0054d276
add esp, 0x10
mov dword [ebp - 0x1b20], eax
mov edx, dword [ebp - 0x1f34]
push edx
call fcn.0054d1f9
add esp, 4
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
mov dword [edx + 0x4788], 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
cmp dword [edx + 0x4764], 0x10
je 0x4ca2f8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
cmp dword [edx + 0x4764], 0x14
je 0x4ca2f8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
cmp dword [edx + 0x4764], 0x15
jne 0x4ca36f
mov eax, dword [ebp - 0x16e3]
and eax, 0xff
and eax, 4
test eax, eax
je 0x4ca326
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
mov dword [eax + 0x4788], 1
jmp 0x4ca36f
mov ecx, dword [ebp - 0x16e3]
and ecx, 0xff
and ecx, 8
test ecx, ecx
je 0x4ca355
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
mov dword [ecx + 0x4788], 2
jmp 0x4ca36f
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
mov dword [ecx + 0x4788], 0
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
cmp dword [ecx + 0x4764], 0xe
jl 0x4ca486
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
cmp dword [ecx + 0x4764], 0x1c
jg 0x4ca486
push 0
push 0x200
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
add ecx, 0x5a8
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
push ecx
call fcn.004862a1
add esp, 0x10
mov dword [ebp - 0x1f44], eax
mov edx, dword [ebp - 0x1f44]
push edx
mov eax, dword [ebp + 8]
push eax
push str.Port__d_:_DoReadFlashIDInfo:_DoReadFlashIDBuffer___d_r_n
lea ecx, [ebp - 0x1d20]
push ecx
call fcn.0054c45b
add esp, 0x10
lea edx, [ebp - 0x1d20]
push edx
call fcn.00536ebf
add esp, 4
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
add edx, 0x27998
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
add edx, 0x5a8
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
push edx
call fcn.004db12c
add esp, 0xc
lea eax, [ebp - 0x1b08]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
push eax
call fcn.00510326
add esp, 8
mov dword [ebp - 0x1f38], eax
jmp 0x4ca5fc
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
cmp dword [eax + 0x4764], 8
jl 0x4ca540
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
cmp dword [eax + 0x4764], 0xd
jg 0x4ca540
push 0
push 0x200
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
add eax, 0x5a8
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
push eax
call fcn.00469d70
add esp, 0x10
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
add eax, 0x27998
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
add eax, 0x5a8
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
push eax
call fcn.004db12c
add esp, 0xc
jmp 0x4ca5fc
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
cmp dword [eax + 0x4764], 4
jl 0x4ca5fc
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
cmp dword [eax + 0x4764], 5
jg 0x4ca5fc
push 0
push 0x200
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
add eax, 0x5a8
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
push eax
call fcn.0044e90d
add esp, 0x10
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
add eax, 0x27998
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
add eax, 0x5a8
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
push eax
call fcn.004db12c
add esp, 0xc
mov dword [ebp - 4], 0x20
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
cmp dword [eax + 0x27a18], 0
jle 0x4ca61e
cmp dword [ebp - 0x1f2c], 0
ja 0x4ca627
cmp dword [ebp - 0x1f38], 0
je 0x4ca64c
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x204]
or ah, 1
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov dword [edx + ecx*4 + 0x204], eax
jmp 0x4ca66f
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x204]
and dh, 0xfe
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov dword [ecx + eax*4 + 0x204], edx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
mov eax, dword [ebp - 4]
lea ecx, [edx + eax + 0x5a8]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
mov edx, dword [ecx + 0x4764]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x23a4]
call fcn.004cba6c
mov dword [ebp - 0x1b1c], eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
push str.Port_d_DoReadFlashIDInfo:_szInfo___s
lea eax, [ebp - 0x1d20]
push eax
call fcn.0054c45b
add esp, 0x10
lea ecx, [ebp - 0x1d20]
push ecx
call fcn.00536ebf
add esp, 4
cmp dword [ebp - 0x1b1c], 0
je 0x4cb95e
mov edx, dword [ebp + 0xc]
push edx
call fcn.0054c3e0
add esp, 4
test eax, eax
jne 0x4ca74c
mov eax, dword [ebp + 0xc]
push eax
push 0x31
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x23a4]
call fcn.004d1250
mov edx, dword [ebp + 0xc]
push edx
call fcn.0054c3e0
add esp, 4
test eax, eax
jne 0x4ca738
push 0x5ae458
mov eax, dword [ebp + 0xc]
push eax
call fcn.0054c45b
add esp, 8
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov dword [edx + ecx*4 + 0x244], 0x31
cmp dword [0x5be5fc], 0
je 0x4ca898
push 0x400
push 0
lea eax, [ebp - 0x1b04]
push eax
call fcn.0054bfb0
add esp, 0xc
push 0
push 0x400
lea ecx, [ebp - 0x1b04]
push ecx
push 0xf8
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
push ecx
call fcn.00500476
add esp, 0x14
mov edx, dword [ebp - 0x19b2]
and edx, 0xff
shl edx, 8
mov eax, dword [ebp - 0x19b1]
and eax, 0xff
and eax, 0xff
add edx, eax
mov dword [ebp - 0x208c], edx
mov ecx, dword [ebp - 0x1998]
and ecx, 0xff
shl ecx, 8
mov edx, dword [ebp - 0x1997]
and edx, 0xff
and edx, 0xff
add ecx, edx
mov dword [ebp - 0x1f28], ecx
mov eax, dword [ebp - 0x1992]
and eax, 0xff
and eax, 0x10
test eax, eax
je 0x4ca811
mov ecx, dword [ebp - 0x1987]
and ecx, 0xff
mov dword [ebp - 0x23a8], ecx
jmp 0x4ca82e
mov edx, dword [ebp - 0x199a]
and edx, 0xff
push edx
push 2
call fcn.00535402
add esp, 8
mov dword [ebp - 0x23a8], eax
mov eax, dword [ebp - 0x23a8]
mov dword [ebp - 0x1f24], eax
mov ecx, dword [ebp - 0x208c]
imul ecx, dword [ebp - 0x1f28]
imul ecx, dword [ebp - 0x1f24]
shl ecx, 1
mov dword [ebp - 0x1b08], ecx
mov edx, dword [ebp - 0x1992]
and edx, 0xff
and edx, 1
test edx, edx
je 0x4ca877
mov eax, dword [ebp - 0x1b08]
shl eax, 1
mov dword [ebp - 0x1b08], eax
mov ecx, dword [ebp - 0x1992]
and ecx, 0xff
and ecx, 4
test ecx, ecx
je 0x4ca898
mov edx, dword [ebp - 0x1b08]
shl edx, 1
mov dword [ebp - 0x1b08], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
cmp dword [edx + 0x27a18], 0
jle 0x4ca927
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
mov eax, dword [edx + 0x27a18]
cdq
and edx, 0x7ff
add eax, edx
sar eax, 0xb
push eax
push 0x5ae468
lea eax, [ebp - 0x1b18]
push eax
call fcn.0054c45b
add esp, 0xc
cmp dword [0x5be5fc], 0
je 0x4ca925
mov ecx, dword [ebp - 0x1b08]
shr ecx, 0xb
push ecx
push str.___d_MB_
lea edx, [ebp - 0x104]
push edx
call fcn.0054c45b
add esp, 0xc
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x1b18]
push ecx
call fcn.0054bed0
add esp, 8
jmp 0x4ca99b
cmp dword [ebp - 0x1f38], 0
je 0x4ca950
mov edx, dword [ebp - 0x1b08]
shr edx, 0xb
push edx
push 0x5ae47c
lea eax, [ebp - 0x1b18]
push eax
call fcn.0054c45b
add esp, 0xc
jmp 0x4ca99b
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
mov ecx, dword [eax + 0x4764]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
add ecx, 0x5a8
push ecx
call fcn.0053549b
add esp, 8
push eax
push 0x5ae484
lea edx, [ebp - 0x1b18]
push edx
call fcn.0054c45b
add esp, 0xc
lea eax, [ebp - 0x1b18]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.0054bed0
add esp, 8
mov dword [ebp - 0x2398], 0
cmp dword [0x5cc478], 0
je 0x4ca9d4
cmp dword [0x5be010], 5
jl 0x4ca9d4
mov dword [ebp - 0x2398], 1
cmp dword [ebp - 0x2398], 0
jne 0x4caa18
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
cmp dword [ecx + 0x2ef78], 0
je 0x4caa45
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
cmp dword [ecx + 0x27a18], 0
jle 0x4caa45
cmp dword [ebp - 0x1f2c], 0
jbe 0x4caa45
mov dword [ebp - 0x239c], 0xffffffff
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
push edx
call fcn.00504129
add esp, 8
mov dword [ebp - 0x239c], eax
push 0x5ae48c
mov eax, dword [ebp + 0xc]
push eax
call fcn.0054bed0
add esp, 8
mov dword [ebp - 0x2290], 0
jmp 0x4caa71
mov ecx, dword [ebp - 0x2290]
add ecx, 1
mov dword [ebp - 0x2290], ecx
cmp dword [ebp - 0x2290], 6
jge 0x4caae0
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
mov edx, dword [ebp - 4]
add edx, dword [ebp - 0x2290]
xor eax, eax
mov al, byte [ecx + edx + 0x5a8]
push eax
push 0x5ae490
lea ecx, [ebp - 0x1b18]
push ecx
call fcn.0054c45b
add esp, 0xc
lea edx, [ebp - 0x1b18]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.0054bed0
add esp, 8
cmp dword [ebp - 0x2290], 5
jge 0x4caade
push 0x5ae498
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.0054bed0
add esp, 8
jmp 0x4caa62
lea edx, [ebp - 0x2394]
push edx
call fcn.0053534c
add esp, 4
push 0x5ae49c
lea eax, [ebp - 0x2394]
push eax
call fcn.0054bed0
add esp, 8
lea ecx, [ebp - 0x2394]
push ecx
push 0
push 0x5ae4b8
push 0x5ae4c8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
test eax, eax
je 0x4cac6d
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
cmp dword [ecx + 0x4764], 0xe
jl 0x4cac19
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
cmp dword [ecx + 0x4764], 0x1c
jg 0x4cac19
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
add ecx, 0x1b0
push ecx
push 0
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
add ecx, 0x29778
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
mov edx, dword [ecx + 0x2976c]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
add edx, 0x5a8
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
push edx
mov ecx, dword [ebp - 0x23a4]
call fcn.004c787e
test eax, eax
jne 0x4cac19
push 0x200
push 0x30
mov eax, dword [ebp - 0x23a4]
add eax, 4
push eax
call fcn.0054bfb0
add esp, 0xc
mov dword [ebp - 0x1b1c], 0
push 0x5ae4d8
mov ecx, dword [ebp - 0x23a4]
add ecx, 0x22c4
push ecx
call fcn.0054bec0
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
mov edx, dword [ecx + 0x4788]
mov dword [ebp - 0x23ac], edx
cmp dword [ebp - 0x23ac], 1
je 0x4cac49
cmp dword [ebp - 0x23ac], 2
je 0x4cac5c
jmp 0x4cac6d
push 0x5ae4f4
mov eax, dword [ebp + 0xc]
push eax
call fcn.0054bed0
add esp, 8
jmp 0x4cac6d
push 0x5ae4fc
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.0054bed0
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
cmp dword [ecx + 0x4764], 0xe
jl 0x4cad40
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
cmp dword [ecx + 0x4764], 0x1c
jg 0x4cad40
push pe_nt_image_headers32
push 0
lea edx, [ebp - 0x2044]
push edx
call fcn.0054bfb0
add esp, 0xc
push 0
push pe_nt_image_headers32
lea eax, [ebp - 0x2044]
push eax
push 0xff
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
push eax
call fcn.00500476
add esp, 0x14
mov ecx, dword [ebp - 0x1f8c]
and ecx, 0xff
and ecx, 1
test ecx, ecx
jne 0x4cad1c
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
xor edx, edx
mov dl, byte [ecx + 0x5dd]
cmp edx, 0xd7
jne 0x4cad2f
push 0x5ae504
mov eax, dword [ebp + 0xc]
push eax
call fcn.0054bed0
add esp, 8
jmp 0x4cad40
push 0x5ae50c
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.0054bed0
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x204]
and ecx, 0x100
test ecx, ecx
je 0x4cb7fc
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
cmp dword [ecx + 0x4764], 0xe
jl 0x4cb7fc
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
cmp dword [ecx + 0x4764], 0x1c
jg 0x4cb7fc
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
cmp dword [ecx + 0x2f778], 0
je 0x4cb7fc
push 0x200
push 0
lea edx, [ebp - 0x228c]
push edx
call fcn.0054bfb0
add esp, 0xc
push 0
push 0x200
lea eax, [ebp - 0x228c]
push eax
push 0xf8
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
push eax
call fcn.00500476
add esp, 0x14
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
mov byte [eax + 0x1b4], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
mov byte [eax + 0x1b6], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
mov cl, byte [ebp - 0x21ec]
mov byte [eax + 0x1bc], cl
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
cmp dword [ecx + 0x4764], 0x14
jne 0x4cae71
mov edx, dword [ebp - 0x226e]
and edx, 0xff
mov dword [ebp - 0x2088], edx
jmp 0x4caf0f
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
cmp dword [edx + 0x4764], 0x12
jne 0x4caefa
mov eax, dword [ebp - 0x211a]
and eax, 0xff
and eax, 0x10
test eax, eax
je 0x4caeb5
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
mov byte [eax + 0x1b4], 1
jmp 0x4caef8
mov ecx, dword [ebp - 0x211c]
and ecx, 0xff
and ecx, 0x10
test ecx, ecx
je 0x4caee1
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
mov byte [ecx + 0x1b4], 0
jmp 0x4caef8
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
mov byte [ecx + 0x1b6], 1
jmp 0x4caf0f
mov edx, dword [ebp - 0x21eb]
and edx, 0xff
and edx, 3
mov dword [ebp - 0x2088], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
cmp dword [edx + 0x4764], 0x12
je 0x4caf96
mov eax, dword [ebp - 0x211a]
and eax, 0xff
and eax, 0x10
test eax, eax
je 0x4caf53
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
mov byte [eax + 0x1b4], 1
jmp 0x4caf96
mov ecx, dword [ebp - 0x211c]
and ecx, 0xff
and ecx, 0x10
test ecx, ecx
je 0x4caf7f
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
mov byte [ecx + 0x1b4], 0
jmp 0x4caf96
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
mov byte [ecx + 0x1b6], 1
cmp dword [0x5cc484], 0
je 0x4cb104
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
xor edx, edx
mov dl, byte [ecx + 0x1b6]
cmp edx, 1
jne 0x4cb025
mov eax, dword [ebp + 8]
imul eax, eax, 0x124
mov dword [eax + 0x5db8bc], 1
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
cmp dword [eax + 0x28be0], 5
jne 0x4cb00f
push 0x5ae514
mov ecx, dword [ebp + 8]
shl ecx, 7
mov edx, dword [ebp - 0x23a4]
lea eax, [edx + ecx + 0x250c]
push eax
call fcn.0054bed0
add esp, 8
jmp 0x4cb020
push 0x5ae518
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.0054bed0
add esp, 8
jmp 0x4cb104
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
xor edx, edx
mov dl, byte [ecx + 0x1b4]
cmp edx, 1
jne 0x4cb0a4
mov eax, dword [ebp + 8]
imul eax, eax, 0x124
mov dword [eax + 0x5db8bc], 3
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
cmp dword [eax + 0x28be0], 5
jne 0x4cb091
push 0x5ae520
mov ecx, dword [ebp + 8]
shl ecx, 7
mov edx, dword [ebp - 0x23a4]
lea eax, [edx + ecx + 0x250c]
push eax
call fcn.0054bed0
add esp, 8
jmp 0x4cb0a2
push 0x5ae524
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.0054bed0
add esp, 8
jmp 0x4cb104
mov edx, dword [ebp + 8]
imul edx, edx, 0x124
mov dword [edx + 0x5db8bc], 2
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
cmp dword [edx + 0x28be0], 5
jne 0x4cb0f3
push 0x5ae52c
mov eax, dword [ebp + 8]
shl eax, 7
mov ecx, dword [ebp - 0x23a4]
lea edx, [ecx + eax + 0x250c]
push edx
call fcn.0054bed0
add esp, 8
jmp 0x4cb104
push 0x5ae530
mov eax, dword [ebp + 0xc]
push eax
call fcn.0054bed0
add esp, 8
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
xor ecx, ecx
mov cl, byte [eax + 0x1b6]
cmp ecx, 1
jne 0x4cb136
mov edx, dword [ebp + 8]
imul edx, edx, 0x124
mov dword [edx + 0x5db8bc], 1
jmp 0x4cb17b
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
xor eax, eax
mov al, byte [edx + 0x1b4]
cmp eax, 1
jne 0x4cb168
mov ecx, dword [ebp + 8]
imul ecx, ecx, 0x124
mov dword [ecx + 0x5db8bc], 3
jmp 0x4cb17b
mov edx, dword [ebp + 8]
imul edx, edx, 0x124
mov dword [edx + 0x5db8bc], 2
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
cmp dword [edx + 0x4764], 0x15
je 0x4cb200
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
cmp dword [edx + 0x4764], 0x14
je 0x4cb200
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
cmp dword [edx + 0x4764], 0x12
je 0x4cb200
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
cmp dword [edx + 0x4764], 0x16
jl 0x4cb7fc
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
cmp dword [edx + 0x4764], 0x1b
jg 0x4cb7fc
cmp dword [0x5be05c], 0
je 0x4cb793
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
mov byte [edx + 0x1b9], 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
mov byte [edx + 0x1b7], 0
mov eax, dword [ebp - 0x2117]
and eax, 0xff
and eax, 8
test eax, eax
je 0x4cb2b7
cmp dword [0x5be5c4], 0
je 0x4cb26f
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
mov byte [eax + 0x1b9], 1
jmp 0x4cb2b2
mov ecx, dword [ebp - 0x211a]
and ecx, 0xff
and ecx, 1
test ecx, ecx
je 0x4cb29b
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
mov byte [ecx + 0x1b7], 1
jmp 0x4cb2b2
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
mov byte [ecx + 0x1b7], 0
jmp 0x4cb3cc
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
xor edx, edx
mov dl, byte [ecx + 0x5d8]
cmp edx, 0x98
je 0x4cb314
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
xor eax, eax
mov al, byte [edx + 0x5d8]
cmp eax, 0x45
je 0x4cb314
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
xor ecx, ecx
mov cl, byte [eax + 0x5d8]
cmp ecx, 0xad
jne 0x4cb389
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
xor edx, edx
mov dl, byte [ecx + 0x5db]
and edx, 3
cmp edx, 3
jne 0x4cb389
mov eax, dword [ebp - 0x2120]
and eax, 0xff
shl eax, 8
mov ecx, dword [ebp - 0x211f]
and ecx, 0xff
add eax, ecx
cmp eax, 0x100
jle 0x4cb370
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
mov byte [ecx + 0x1b7], 1
jmp 0x4cb387
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
mov byte [ecx + 0x1b7], 0
jmp 0x4cb3cc
mov edx, dword [ebp - 0x211a]
and edx, 0xff
and edx, 1
test edx, edx
je 0x4cb3b5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
mov byte [edx + 0x1b7], 1
jmp 0x4cb3cc
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
mov byte [edx + 0x1b7], 0
mov dword [ebp - 0x1f3c], 0
jmp 0x4cb3e7
mov eax, dword [ebp - 0x1f3c]
add eax, 1
mov dword [ebp - 0x1f3c], eax
cmp dword [ebp - 0x1f3c], 4
ja 0x4cb55c
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
xor ecx, ecx
mov cl, byte [eax + 0x5d8]
mov edx, dword [ebp - 0x1f3c]
imul edx, edx, 6
xor eax, eax
mov al, byte [edx + 0x5ac0dc]
cmp ecx, eax
jne 0x4cb557
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
xor ecx, ecx
mov cl, byte [eax + 0x5d9]
mov edx, dword [ebp - 0x1f3c]
imul edx, edx, 6
xor eax, eax
mov al, byte [edx + 0x5ac0dd]
cmp ecx, eax
jne 0x4cb557
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
xor ecx, ecx
mov cl, byte [eax + 0x5da]
mov edx, dword [ebp - 0x1f3c]
imul edx, edx, 6
xor eax, eax
mov al, byte [edx + 0x5ac0de]
cmp ecx, eax
jne 0x4cb557
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
xor ecx, ecx
mov cl, byte [eax + 0x5db]
mov edx, dword [ebp - 0x1f3c]
imul edx, edx, 6
xor eax, eax
mov al, byte [edx + 0x5ac0df]
cmp ecx, eax
jne 0x4cb557
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
xor ecx, ecx
mov cl, byte [eax + 0x5dc]
mov edx, dword [ebp - 0x1f3c]
imul edx, edx, 6
xor eax, eax
mov al, byte [edx + 0x5ac0e0]
cmp ecx, eax
jne 0x4cb557
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
xor ecx, ecx
mov cl, byte [eax + 0x5dd]
mov edx, dword [ebp - 0x1f3c]
imul edx, edx, 6
xor eax, eax
mov al, byte [edx + 0x5ac0e1]
cmp ecx, eax
jne 0x4cb557
mov ecx, dword [ebp - 0x226d]
and ecx, 0xff
and ecx, 1
test ecx, ecx
je 0x4cb53e
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
mov byte [ecx + 0x1b7], 1
jmp 0x4cb555
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
mov byte [ecx + 0x1b7], 0
jmp 0x4cb55c
jmp 0x4cb3d8
mov dword [ebp - 0x23a0], 8
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
add ecx, 0x5a8
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
push ecx
mov ecx, dword [ebp - 0x23a4]
call fcn.004d95c9
mov dword [ebp - 0x23a0], eax
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
cmp dword [ecx + 0x4764], 0x16
jl 0x4cb634
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
cmp dword [ecx + 0x4764], 0x1b
jg 0x4cb634
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
mov byte [ecx + 0x1b9], 0
cmp dword [ebp - 0x23a0], 0x10
jne 0x4cb634
mov edx, dword [ebp - 0x2117]
and edx, 0xff
and edx, 8
test edx, edx
je 0x4cb61d
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
mov byte [edx + 0x1b7], 1
jmp 0x4cb634
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
mov byte [edx + 0x1b7], 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
xor eax, eax
mov al, byte [edx + 0x1b9]
test eax, eax
je 0x4cb6b5
mov ecx, dword [ebp + 8]
imul ecx, ecx, 0x124
mov dword [ecx + 0x5db8c0], 3
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
cmp dword [ecx + 0x28be0], 5
jne 0x4cb69f
push 0x5ae538
mov edx, dword [ebp + 8]
shl edx, 7
mov eax, dword [ebp - 0x23a4]
lea ecx, [eax + edx + 0x250c]
push ecx
call fcn.0054bed0
add esp, 8
jmp 0x4cb6b0
push 0x5ae53c
mov edx, dword [ebp + 0xc]
push edx
call fcn.0054bed0
add esp, 8
jmp 0x4cb793
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x23a4]
mov edx, dword [ecx + eax*4 + 0x2344]
xor eax, eax
mov al, byte [edx + 0x1b7]
test eax, eax
je 0x4cb733
mov ecx, dword [ebp + 8]
imul ecx, ecx, 0x124
mov dword [ecx + 0x5db8c0], 2
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
cmp dword [ecx + 0x28be0], 5
jne 0x4cb720
push 0x5ae540
mov edx, dword [ebp + 8]
shl edx, 7
mov eax, dword [ebp - 0x23a4]
lea ecx, [eax + edx + 0x250c]
push ecx
call fcn.0054bed0
add esp, 8
jmp 0x4cb731
push 0x5ae544
mov edx, dword [ebp + 0xc]
push edx
call fcn.0054bed0
add esp, 8
jmp 0x4cb793
mov eax, dword [ebp + 8]
imul eax, eax, 0x124
mov dword [eax + 0x5db8c0], 1
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x23a4]
mov eax, dword [edx + ecx*4 + 0x2344]
cmp dword [eax + 0x28be0], 5
jne 0x4cb782
push 0x5ae548
mov ecx, dword [ebp + 8]
shl ecx, 7
mov edx, dword [ebp - 0x23a4]
lea eax, [edx + ecx + 0x250c]
push eax
call fcn.0054bed0
add esp, 8
jmp 0x4cb793
push 0x5ae54c
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.0054bed0
add esp, 8
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
cmp dword [ecx + 0x28f00], 0
je 0x4cb7fc
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
cmp dword [ecx + 0x4764], 0x14
jne 0x4cb7fc
mov edx, dword [ebp - 0x2271]
and edx, 0xff
and edx, 2
test edx, edx
je 0x4cb7eb
push 0x5ae550
mov eax, dword [ebp + 0xc]
push eax
call fcn.0054bed0
add esp, 8
jmp 0x4cb7fc
push 0x5ae558
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.0054bed0
add esp, 8
cmp dword [0x5be060], 0
je 0x4cb95c
push 0x40
push 0
lea edx, [ebp - 0x2084]
push edx
call fcn.0054bfb0
add esp, 0xc
push 0x600
push 0
lea eax, [ebp - 0x704]
push eax
call fcn.0054bfb0
add esp, 0xc
push 0x600
lea ecx, [ebp - 0x704]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov ecx, dword [eax + edx*4 + 0x2344]
push ecx
call fcn.00482a03
add esp, 0xc
mov edx, dword [ebp - 0x704]
and edx, 0xff
cmp edx, 0x12
jne 0x4cb95c
mov eax, dword [ebp - 0x5d5]
and eax, 0xff
cmp eax, 0x73
jne 0x4cb95c
mov ecx, dword [ebp - 0x5d4]
and ecx, 0xff
cmp ecx, 0x6d
jne 0x4cb95c
mov edx, dword [ebp - 0x5d3]
and edx, 0xff
cmp edx, 0x69
jne 0x4cb95c
mov dword [ebp - 0x2290], 0
jmp 0x4cb8c5
mov eax, dword [ebp - 0x2290]
add eax, 1
mov dword [ebp - 0x2290], eax
mov ecx, dword [ebp - 0x1f40]
xor edx, edx
mov dl, byte [ebp + ecx - 0x672]
mov eax, edx
sub eax, 2
cdq
sub eax, edx
sar eax, 1
cmp dword [ebp - 0x2290], eax
jge 0x4cb919
mov eax, dword [ebp - 0x1f40]
lea ecx, [ebp + eax - 0x670]
mov edx, dword [ebp - 0x2290]
mov eax, dword [ebp - 0x2290]
mov cl, byte [ecx + eax*2]
mov byte [ebp + edx - 0x2084], cl
mov edx, dword [ebp - 0x2290]
mov byte [ebp + edx - 0x2083], 0
jmp 0x4cb8b6
push 0x5ae564
mov eax, dword [ebp + 0xc]
push eax
call fcn.0054bed0
add esp, 8
lea ecx, [ebp - 0x2084]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.0054bed0
add esp, 8
lea eax, [ebp - 0x2084]
push eax
mov ecx, dword [ebp + 8]
imul ecx, ecx, 0x124
add ecx, 0x5db948
push ecx
call fcn.0054bec0
add esp, 8
jmp 0x4cb972
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x23a4]
mov dword [eax + edx*4 + 0x244], 0x31
mov eax, dword [ebp - 0x1b1c]
mov esp, ebp
pop ebp
ret 8