Function at 0x51c321
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe68
push esi
push edi
mov dword [ebp - 0xe60], ecx
mov dword [ebp - 0x84c], 0
mov byte [ebp - 0x954], 0
mov dword [ebp - 0x840], 0
mov dword [ebp - 0x834], 1
mov dword [ebp - 0x830], 0
mov dword [ebp - 0x108], 1
push 0x5cc494
call fcn.0054c538
add esp, 4
mov dword [ebp - 0x950], eax
mov eax, dword [ebp - 0xe60]
cmp dword [eax + 0x4b8], 0
je 0x51c397
mov eax, 1
jmp 0x51d9b7
mov ecx, dword [ebp - 0xe60]
call fcn.0052e364
mov ecx, dword [ebp - 0xe60]
mov edx, dword [0x5be5c8]
mov dword [ecx + 0x6d44], edx
mov eax, dword [ebp - 0xe60]
mov ecx, dword [0x5be614]
mov dword [eax + 0x91a4], ecx
mov edx, dword [ebp - 0xe60]
mov eax, dword [0x5be760]
mov dword [edx + 0x91a8], eax
cmp dword [0x5be024], 0
je 0x51c3ea
mov dword [0x5cc5ac], 1
mov dword [ebp - 0x838], 0
jmp 0x51c405
mov ecx, dword [ebp - 0x838]
add ecx, 1
mov dword [ebp - 0x838], ecx
cmp dword [ebp - 0x838], 0x10
jge 0x51c430
mov edx, dword [ebp - 0x838]
mov eax, dword [ebp - 0xe60]
cmp dword [eax + edx*4 + 0x195c0], 1
jne 0x51c42e
mov eax, 1
jmp 0x51d9b7
jmp 0x51c3f6
mov ecx, dword [ebp - 0xe60]
cmp dword [ecx + 0x7c], 1
jne 0x51c446
mov eax, 1
jmp 0x51d9b7
mov edx, dword [ebp - 0xe60]
mov dword [edx + 0x91a0], 0
mov ecx, dword [ebp - 0xe60]
call fcn.00526c24
push 0x5b42b8
call fcn.00536ebf
add esp, 4
cmp dword [0x5be020], 0
jne 0x51c4e5
cmp dword [0x5be01c], 0
je 0x51c493
mov ecx, dword [ebp - 0xe60]
add ecx, 0x162c
call fcn.00540e40
jmp 0x51c4e0
cmp dword [0x5be030], 0
je 0x51c4bc
mov ecx, dword [ebp - 0xe60]
add ecx, 0x10ff0
push ecx
mov ecx, dword [ebp - 0xe60]
add ecx, 0x162c
call fcn.00542310
jmp 0x51c4e0
mov dl, byte [0x5be014]
push edx
mov eax, dword [ebp - 0xe60]
add eax, 0x10ff0
push eax
mov ecx, dword [ebp - 0xe60]
add ecx, 0x162c
call fcn.005407e0
jmp 0x51c70c
mov ecx, dword [ebp - 0xe60]
cmp dword [ecx + 0x294], 0
je 0x51c506
mov edx, dword [ebp - 0xe60]
mov dword [edx + 0x5a00], 0
jmp 0x51c516
mov eax, dword [ebp - 0xe60]
mov dword [eax + 0x5a00], 1
cmp dword [0x5be030], 0
je 0x51c542
mov ecx, dword [ebp - 0xe60]
add ecx, 0x10ff0
push ecx
mov ecx, dword [ebp - 0xe60]
add ecx, 0x162c
call fcn.00542310
jmp 0x51c6e3
mov edx, dword [0x5cc43c]
mov dword [ebp - 0xe64], edx
cmp dword [ebp - 0xe64], 3
ja case.default.0x51c561
mov eax, dword [ebp - 0xe64]
jmp dword [eax*4 + 0x51d9bf]
cmp dword [0x5be024], 0
je 0x51c596
push 0x80
mov ecx, dword [ebp - 0xe60]
add ecx, 0x10ff0
push ecx
mov ecx, dword [ebp - 0xe60]
add ecx, 0x162c
call fcn.005407e0
jmp 0x51c5f2
cmp dword [0x5be5c8], 0
je 0x51c5cd
push 0x1a
mov edx, dword [ebp - 0xe60]
add edx, 0x1958e
push edx
mov eax, dword [ebp - 0xe60]
add eax, 0x19574
push eax
mov ecx, dword [ebp - 0xe60]
add ecx, 0x162c
call fcn.005429a0
jmp 0x51c5f2
mov cl, byte [0x5be014]
push ecx
mov edx, dword [ebp - 0xe60]
add edx, 0x10ff0
push edx
mov ecx, dword [ebp - 0xe60]
add ecx, 0x162c
call fcn.005407e0
jmp 0x51c6e3
cmp dword [0x5be024], 0
je 0x51c635
mov eax, dword [ebp - 0xe60]
mov dword [eax + 0x91a0], 1
push 0x80
mov ecx, dword [ebp - 0xe60]
add ecx, 0x10ff0
push ecx
mov ecx, dword [ebp - 0xe60]
add ecx, 0x162c
call fcn.00541340
jmp 0x51c646
mov ecx, dword [ebp - 0xe60]
add ecx, 0x162c
call fcn.00540e40
jmp 0x51c6e3
cmp dword [0x5be024], 0
je 0x51c679
push 0x80
mov edx, dword [ebp - 0xe60]
add edx, 0x10ff0
push edx
mov ecx, dword [ebp - 0xe60]
add ecx, 0x162c
call fcn.005432b0
jmp 0x51c696
mov eax, dword [ebp - 0xe60]
add eax, 0x10ff0
push eax
mov ecx, dword [ebp - 0xe60]
add ecx, 0x162c
call fcn.005425d0
jmp 0x51c6e3
mov cl, byte [0x5be014]
push ecx
mov edx, dword [ebp - 0xe60]
add edx, 0x10ff0
push edx
mov ecx, dword [ebp - 0xe60]
add ecx, 0x162c
call fcn.00542c10
jmp 0x51c6e3
mov al, byte [0x5be014]
push eax
mov ecx, dword [ebp - 0xe60]
add ecx, 0x10ff0
push ecx
mov ecx, dword [ebp - 0xe60]
add ecx, 0x162c
call fcn.005407e0
mov edx, dword [ebp - 0xe60]
mov eax, dword [ebp - 0xe60]
mov ecx, dword [eax + 0x1630]
mov dword [edx + 0x298], ecx
mov ecx, dword [ebp - 0xe60]
add ecx, 0x1e4
call fcn.00415bb5
push 0x5b42e8
call fcn.00536ebf
add esp, 4
cmp dword [0x5be5c8], 0
je 0x51c773
mov dword [ebp - 0x838], 0
jmp 0x51c73d
mov edx, dword [ebp - 0x838]
add edx, 1
mov dword [ebp - 0x838], edx
cmp dword [ebp - 0x838], 0x10
jge 0x51c773
mov eax, dword [ebp - 0x838]
imul eax, eax, 0x42c
mov ecx, dword [ebp - 0xe60]
add ecx, dword [ebp - 0x838]
mov edx, dword [ebp - 0xe60]
mov cl, byte [ecx + 0x19574]
mov byte [edx + eax + 0x163c], cl
jmp 0x51c72e
mov edx, dword [ebp - 0xe60]
mov dword [edx + 0x6d48], 0
cmp dword [0x5bebc8], 0
je 0x51c815
mov dword [ebp - 0x838], 0
jmp 0x51c7ab
mov eax, dword [ebp - 0x838]
add eax, 1
mov dword [ebp - 0x838], eax
cmp dword [ebp - 0x838], 0x10
jge 0x51c815
mov ecx, dword [ebp - 0x838]
imul ecx, ecx, 0x42c
mov edx, dword [ebp - 0xe60]
movsx eax, byte [edx + ecx + 0x163c]
test eax, eax
je 0x51c813
mov ecx, dword [ebp - 0x838]
imul ecx, ecx, 0x42c
mov edx, dword [ebp - 0xe60]
movsx eax, byte [edx + ecx + 0x163c]
mov ecx, dword [0x5bebc8]
add ecx, 0x40
cmp eax, ecx
jne 0x51c813
mov edx, dword [ebp - 0x838]
imul edx, edx, 0x42c
mov eax, dword [ebp - 0xe60]
mov byte [eax + edx + 0x163c], 0
jmp 0x51c79c
mov dword [ebp - 0x834], 1
cmp dword [0x5be174], 0
je 0x51c882
mov dword [ebp - 0x834], 1
mov dword [ebp - 0x83c], 0
jmp 0x51c84d
mov ecx, dword [ebp - 0x83c]
add ecx, 1
mov dword [ebp - 0x83c], ecx
cmp dword [ebp - 0x83c], 0x10
jge 0x51c882
mov edx, dword [ebp - 0x83c]
mov eax, dword [ebp - 0xe60]
mov ecx, dword [eax + edx*4 + 0x10f30]
and ecx, 0xff
cmp ecx, 2
jne 0x51c880
mov dword [ebp - 0x834], 0
jmp 0x51c882
jmp 0x51c83e
mov dword [ebp - 0x62c], 0
mov dword [ebp - 0x830], 0
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0xe60]
mov dword [edx + 0x17370], 0
mov dword [ebp - 0x838], 0
jmp 0x51c8c8
mov eax, dword [ebp - 0x838]
add eax, 1
mov dword [ebp - 0x838], eax
cmp dword [ebp - 0x838], 0x10
jge 0x51d7c9
cmp dword [0x5be024], 0
je 0x51c916
mov ecx, dword [ebp - 0x838]
imul ecx, ecx, 0x42c
mov edx, dword [ebp - 0xe60]
movsx eax, byte [edx + ecx + 0x163c]
push eax
mov ecx, dword [ebp - 0x838]
push ecx
push 0x5b431c
lea edx, [ebp - 0x628]
push edx
call fcn.0054c45b
add esp, 0x10
jmp 0x51c94c
mov eax, dword [ebp - 0x838]
imul eax, eax, 0x42c
mov ecx, dword [ebp - 0xe60]
movsx edx, byte [ecx + eax + 0x163c]
push edx
mov eax, dword [ebp - 0x838]
push eax
push 0x5b4374
lea ecx, [ebp - 0x628]
push ecx
call fcn.0054c45b
add esp, 0x10
lea edx, [ebp - 0x628]
push edx
call fcn.00536ebf
add esp, 4
mov dword [ebp - 0x844], 0
push 0x20
lea eax, [ebp - 0x228]
push eax
mov ecx, dword [ebp - 0x838]
imul ecx, ecx, 0x3c
mov edx, dword [ebp - 0xe60]
lea ecx, [edx + ecx + 0x72c]
call fcn.00564356
mov al, byte [ebp - 0x228]
push eax
mov ecx, dword [ebp - 0xe60]
add ecx, 0x10d2c
call fcn.004bb30a
test eax, eax
je 0x51d7c4
cmp dword [0x5c5d0c], 0
je 0x51c9e1
mov ecx, dword [ebp - 0x838]
mov edx, dword [ebp - 0xe60]
cmp dword [edx + ecx*4 + 0x10f70], 0xfffffffe
jg 0x51c9df
mov eax, dword [ebp - 0x838]
mov ecx, dword [ebp - 0xe60]
mov dword [ecx + eax*4 + 0x10f70], 0xffffffff
jmp 0x51ca5f
cmp dword [0x5be5e4], 0
je 0x51ca48
mov edx, dword [ebp - 0x838]
mov eax, dword [ebp - 0xe60]
cmp dword [eax + edx*4 + 0x14b70], 0
jne 0x51ca2f
mov ecx, dword [ebp - 0x838]
mov edx, dword [ebp - 0xe60]
cmp dword [edx + ecx*4 + 0x10f70], 0
jle 0x51ca2d
mov eax, dword [ebp - 0x838]
mov ecx, dword [ebp - 0xe60]
mov dword [ecx + eax*4 + 0x10f70], 0xffffffff
jmp 0x51ca46
mov edx, dword [ebp - 0x838]
mov eax, dword [ebp - 0xe60]
mov dword [eax + edx*4 + 0x10f70], 0xffffffff
jmp 0x51ca5f
mov ecx, dword [ebp - 0x838]
mov edx, dword [ebp - 0xe60]
mov dword [edx + ecx*4 + 0x10f70], 0xffffffff
mov eax, dword [ebp - 0x838]
imul eax, eax, 0x42c
mov ecx, dword [ebp - 0xe60]
movsx edx, byte [ecx + eax + 0x163c]
test edx, edx
je 0x51d3d0
mov eax, dword [ebp - 0xe60]
mov ecx, dword [eax + 0x17370]
add ecx, 1
mov edx, dword [ebp - 0xe60]
mov dword [edx + 0x17370], ecx
cmp dword [0x5be59c], 0
je 0x51cb1b
mov eax, dword [ebp - 0xe60]
cmp dword [eax + 0x15300], 0
jne 0x51cb1b
push 0x20
push 0
lea ecx, [ebp - 0x228]
push ecx
call fcn.0054bfb0
add esp, 0xc
push 0x20
lea edx, [ebp - 0x228]
push edx
mov eax, dword [ebp - 0x838]
imul eax, eax, 0x3c
mov ecx, dword [ebp - 0xe60]
lea ecx, [ecx + eax + 0xaec]
call fcn.00564356
lea edx, [ebp - 0x228]
push edx
call fcn.0054c3e0
add esp, 4
test eax, eax
je 0x51cb1b
push 0x5b43bc
lea eax, [ebp - 0x228]
push eax
call fcn.0054ccc0
add esp, 8
test eax, eax
jne 0x51cb1b
jmp 0x51c8b9
mov ecx, dword [ebp - 0x838]
mov edx, dword [ebp - 0xe60]
mov dword [edx + ecx*4 + 0x14b70], 0
push 1
mov eax, dword [ebp - 0x838]
imul eax, eax, 0x3c
mov ecx, dword [ebp - 0xe60]
lea ecx, [ecx + eax + 0x72c]
call fcn.00564472
cmp dword [0x5be5c8], 0
je 0x51cbaa
mov edx, dword [ebp - 0xe60]
mov eax, dword [edx + 0x1c]
push eax
mov ecx, dword [ebp - 0x838]
push ecx
mov edx, dword [ebp - 0x838]
imul edx, edx, 0x42c
mov eax, dword [ebp - 0xe60]
lea esi, [eax + edx + 0x1634]
sub esp, 0x42c
mov ecx, 0x10b
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xe60]
add ecx, 0x10d2c
call fcn.004b9eb5
mov dword [ebp - 0x848], eax
jmp 0x51cbf2
push 0
mov ecx, dword [ebp - 0x838]
push ecx
mov edx, dword [ebp - 0x838]
imul edx, edx, 0x42c
mov eax, dword [ebp - 0xe60]
lea esi, [eax + edx + 0x1634]
sub esp, 0x42c
mov ecx, 0x10b
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xe60]
add ecx, 0x10d2c
call fcn.004b9eb5
mov dword [ebp - 0x848], eax
cmp dword [0x5be174], 0
je 0x51cc33
mov edx, 1
mov ecx, dword [ebp - 0x838]
shl edx, cl
mov eax, dword [ebp - 0x62c]
or eax, edx
mov dword [ebp - 0x62c], eax
cmp dword [ebp - 0x834], 0
je 0x51cc33
push 0
mov ecx, dword [ebp - 0x62c]
push ecx
mov ecx, dword [ebp - 0xe60]
call fcn.00526f7c
mov edx, dword [ebp - 0x848]
push edx
mov eax, dword [ebp - 0x838]
push eax
push 0x5b43d0
lea ecx, [ebp - 0x82c]
push ecx
call fcn.0054c45b
add esp, 0x10
lea edx, [ebp - 0x82c]
push edx
call fcn.00536ebf
add esp, 4
cmp dword [ebp - 0x848], 2
je 0x51cd0e
cmp dword [ebp - 0x848], 1
jne 0x51ccd0
cmp dword [0x5be024], 0
je 0x51ccd0
mov eax, dword [ebp - 0x838]
mov ecx, dword [ebp - 0xe60]
mov edx, dword [ecx + eax*4 + 0x13070]
mov eax, dword [edx + 0x4774]
push eax
mov ecx, dword [ebp - 0x838]
mov edx, dword [ebp - 0xe60]
mov eax, dword [edx + ecx*4 + 0x13070]
mov ecx, dword [eax + 0x4778]
push ecx
mov ecx, dword [ebp - 0xe60]
add ecx, 0x162c
call fcn.0053e9d0
mov dword [ebp - 0xe68], eax
jmp 0x51cd01
mov edx, dword [ebp - 0x838]
mov eax, dword [ebp - 0xe60]
mov ecx, dword [eax + edx*4 + 0x13070]
mov edx, dword [ecx + 0x477c]
push edx
mov ecx, dword [ebp - 0xe60]
add ecx, 0x162c
call fcn.0053e8a0
mov dword [ebp - 0xe68], eax
cmp dword [ebp - 0xe68], 0
je 0x51d3a9
mov eax, dword [ebp - 0x838]
push eax
mov ecx, dword [ebp - 0xe60]
add ecx, 0x10d2c
call fcn.004cc30f
mov ecx, dword [ebp - 0x838]
mov edx, dword [ebp - 0xe60]
mov eax, dword [edx + ecx*4 + 0x13070]
add eax, 0x48
push eax
mov ecx, dword [ebp - 0xe60]
mov edx, dword [ecx + 0x4b4]
push edx
call fcn.004016bb
add esp, 8
cmp dword [0x5cc5ac], 0
je 0x51cd7b
mov eax, dword [ebp - 0x838]
add eax, 1
push eax
push 0x5b43ec
lea ecx, [ebp - 0x228]
push ecx
call fcn.0054c45b
add esp, 0xc
jmp 0x51cdf7
mov edx, dword [ebp - 0x838]
mov eax, dword [ebp - 0xe60]
mov ecx, dword [eax + edx*4 + 0x13070]
cmp dword [ecx + 0x36f38], 0
je 0x51cdc8
mov edx, dword [ebp - 0x838]
imul edx, edx, 0x42c
mov eax, dword [ebp - 0xe60]
movsx ecx, byte [eax + edx + 0x163c]
push ecx
push 0x5b43f4
lea edx, [ebp - 0x228]
push edx
call fcn.0054c45b
add esp, 0xc
jmp 0x51cdf7
mov eax, dword [ebp - 0x838]
imul eax, eax, 0x42c
mov ecx, dword [ebp - 0xe60]
movsx edx, byte [ecx + eax + 0x163c]
push edx
push 0x5b43fc
lea eax, [ebp - 0x228]
push eax
call fcn.0054c45b
add esp, 0xc
lea ecx, [ebp - 0x228]
push ecx
mov edx, dword [ebp - 0x838]
imul edx, edx, 0x3c
mov eax, dword [ebp - 0xe60]
lea ecx, [eax + edx + 0x72c]
call fcn.0056432f
cmp dword [0x5c5d0c], 0
je 0x51ce4d
mov ecx, dword [ebp - 0x838]
imul ecx, ecx, 0x42c
mov edx, dword [ebp - 0xe60]
add edx, dword [ebp - 0x838]
mov eax, dword [ebp - 0xe60]
mov cl, byte [eax + ecx + 0x163c]
mov byte [edx + 0x19400], cl
mov edx, dword [ebp - 0x838]
imul edx, edx, 0x124
mov dword [edx + 0x5db8bc], 0
push pe_nt_image_headers32
push 0
lea eax, [ebp - 0x72c]
push eax
call fcn.0054bfb0
add esp, 0xc
lea ecx, [ebp - 0x72c]
push ecx
mov edx, dword [ebp - 0x838]
push edx
mov ecx, dword [ebp - 0xe60]
add ecx, 0x10d2c
call fcn.004ca0bc
mov dword [ebp - 0x84c], eax
push 0x200
push 0
lea eax, [ebp - 0xe5c]
push eax
call fcn.0054bfb0
add esp, 0xc
push 0x5b4404
lea ecx, [ebp - 0x72c]
push ecx
call fcn.0054ccc0
add esp, 8
test eax, eax
jne 0x51cefc
push 0x5b4410
lea edx, [ebp - 0x72c]
push edx
call fcn.0054ccc0
add esp, 8
test eax, eax
jne 0x51cefc
push 0x5b441c
lea eax, [ebp - 0x72c]
push eax
call fcn.0054ccc0
add esp, 8
test eax, eax
je 0x51cf6e
push 0x5b4428
lea ecx, [ebp - 0xc5c]
push ecx
call fcn.0054bec0
add esp, 8
lea edx, [ebp - 0xc5c]
push edx
call fcn.0054c3e0
add esp, 4
mov dword [ebp - 0xa5c], eax
lea eax, [ebp - 0x72c]
push eax
call fcn.0054c3e0
add esp, 4
sub eax, dword [ebp - 0xa5c]
push eax
mov ecx, dword [ebp - 0xa5c]
lea edx, [ebp + ecx - 0x72c]
push edx
lea eax, [ebp - 0xe5c]
push eax
call fcn.0054c980
add esp, 0xc
lea ecx, [ebp - 0xe5c]
push ecx
lea edx, [ebp - 0x72c]
push edx
call fcn.0054bec0
add esp, 8
mov eax, dword [ebp - 0x838]
imul eax, eax, 0x124
mov dword [eax + 0x5db8b4], 0
cmp dword [0x5be618], 0
je 0x51d103
push 0xff
push 0
lea ecx, [ebp - 0x104]
push ecx
call fcn.0054bfb0
add esp, 0xc
push 0xff
push 0
lea edx, [ebp - 0x208]
push edx
call fcn.0054bfb0
add esp, 0xc
mov eax, dword [ebp - 0x838]
imul eax, eax, 0x42c
mov ecx, dword [ebp - 0xe60]
mov dl, byte [ecx + eax + 0x163c]
push edx
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x208]
push ecx
mov edx, dword [ebp - 0x838]
push edx
mov ecx, dword [ebp - 0xe60]
add ecx, 0x10d2c
call fcn.004d56fa
mov dword [ebp - 0x84c], eax
push 0x5b4434
lea eax, [ebp - 0x104]
push eax
call fcn.0054ccc0
add esp, 8
test eax, eax
je 0x51d0da
mov ecx, dword [ebp - 0x838]
imul ecx, ecx, 0x124
mov dword [ecx + 0x5db8b4], 1
push 0x5dcb6c
lea edx, [ebp - 0x628]
push edx
call fcn.0054bec0
add esp, 8
lea eax, [ebp - 0xa58]
push eax
mov ecx, dword [ebp - 0xe60]
mov edx, dword [ecx + 0x4b4]
push edx
call fcn.004016bb
add esp, 8
lea eax, [ebp - 0xa58]
push eax
push 0x400
lea ecx, [ebp - 0x628]
push ecx
push 0x5dcb70
push 0x5b4438
push 0x5b4448
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x628]
push edx
call fcn.0054c3e0
add esp, 4
test eax, eax
jne 0x51d0b4
push 0x5b4458
lea eax, [ebp - 0x628]
push eax
call fcn.0054bec0
add esp, 8
lea ecx, [ebp - 0x628]
push ecx
mov edx, dword [ebp - 0x838]
shl edx, 7
mov eax, dword [ebp - 0xe60]
lea ecx, [eax + edx + 0x13238]
push ecx
call fcn.0054bec0
add esp, 8
mov edx, dword [ebp - 0x838]
imul edx, edx, 0x124
cmp dword [edx + 0x5db9c8], 0
je 0x51d103
push 0x5b4464
lea eax, [ebp - 0x72c]
push eax
call fcn.0054bed0
add esp, 8
cmp dword [ebp + 8], 0
je 0x51d12a
mov ecx, dword [ebp - 0x838]
mov edx, dword [ebp - 0xe60]
mov eax, dword [edx + ecx*4 + 0x10f30]
and eax, 0xff
cmp eax, 2
je 0x51d328
cmp dword [0x5be60c], 0
je 0x51d1e6
push 0x20
lea ecx, [ebp - 0x228]
push ecx
mov edx, dword [ebp - 0x838]
imul edx, edx, 0x3c
mov eax, dword [ebp - 0xe60]
lea ecx, [eax + edx + 0xaec]
call fcn.00564356
push 0x5b4474
lea ecx, [ebp - 0x228]
push ecx
call fcn.0054ccc0
add esp, 8
test eax, eax
jne 0x51d18b
push 0x5b4484
lea edx, [ebp - 0x228]
push edx
call fcn.0054ccc0
add esp, 8
test eax, eax
je 0x51d18d
jmp 0x51d1e1
lea eax, [ebp - 0x72c]
push eax
mov ecx, dword [ebp - 0x838]
imul ecx, ecx, 0x3c
mov edx, dword [ebp - 0xe60]
lea ecx, [edx + ecx + 0xaec]
call fcn.0056432f
mov eax, dword [ebp - 0x838]
shl eax, 7
mov ecx, dword [ebp - 0xe60]
lea edx, [ecx + eax + 0x13238]
push edx
mov eax, dword [ebp - 0x838]
imul eax, eax, 0x3c
mov ecx, dword [ebp - 0xe60]
lea ecx, [ecx + eax + 0xeac]
call fcn.0056432f
jmp 0x51d2b6
lea edx, [ebp - 0x72c]
push edx
mov eax, dword [ebp - 0x838]
imul eax, eax, 0x3c
mov ecx, dword [ebp - 0xe60]
lea ecx, [ecx + eax + 0xaec]
call fcn.0056432f
mov edx, dword [ebp - 0x838]
shl edx, 7
mov eax, dword [ebp - 0xe60]
lea ecx, [eax + edx + 0x13238]
push ecx
mov edx, dword [ebp - 0x838]
imul edx, edx, 0x3c
mov eax, dword [ebp - 0xe60]
lea ecx, [eax + edx + 0xeac]
call fcn.0056432f
mov ecx, dword [ebp - 0x838]
imul ecx, ecx, 0x124
add ecx, 0x5db8c4
push ecx
mov edx, dword [ebp - 0x838]
imul edx, edx, 0x3c
mov eax, dword [ebp - 0xe60]
lea ecx, [eax + edx + 0x14280]
call fcn.0056432f
cmp dword [0x5be010], 5
jl 0x51d299
cmp dword [0x5cc478], 0
je 0x51d299
push 5
mov ecx, dword [ebp - 0x838]
imul ecx, ecx, 0x3c
mov edx, dword [ebp - 0xe60]
lea ecx, [edx + ecx + 0x14280]
call fcn.00564430
jmp 0x51d2b6
push 0
mov eax, dword [ebp - 0x838]
imul eax, eax, 0x3c
mov ecx, dword [ebp - 0xe60]
lea ecx, [ecx + eax + 0x14280]
call fcn.00564430
mov edx, dword [ebp - 0x838]
mov eax, dword [ebp - 0xe60]
mov ecx, dword [eax + edx*4 + 0x10f30]
and ecx, 0xff00
mov edx, dword [ebp - 0x838]
mov eax, dword [ebp - 0xe60]
mov dword [eax + edx*4 + 0x10f30], ecx
mov ecx, dword [ebp - 0x838]
mov edx, dword [ebp - 0xe60]
mov eax, dword [ebp - 0x838]
mov esi, dword [ebp - 0xe60]
mov eax, dword [esi + eax*4 + 0x10f30]
mov dword [edx + ecx*4 + 0x10f30], eax
push 0x5dcb74
mov ecx, dword [ebp - 0x838]
imul ecx, ecx, 0x3c
mov edx, dword [ebp - 0xe60]
lea ecx, [edx + ecx + 0x126c]
call fcn.0056432f
cmp dword [0x5be5e4], 0
je 0x51d3a7
mov eax, dword [ebp - 0x838]
mov ecx, dword [ebp - 0xe60]
cmp dword [ecx + eax*4 + 0x14b70], 0
jne 0x51d3a7
mov edx, dword [ebp - 0x838]
mov eax, dword [ebp - 0xe60]
mov ecx, dword [eax + edx*4 + 0x10f30]
and ecx, 0xff
cmp ecx, 2
je 0x51d3a7
lea edx, [ebp - 0x72c]
push edx
mov eax, dword [ebp - 0x838]
imul eax, eax, 0x3c
mov ecx, dword [ebp - 0xe60]
lea ecx, [ecx + eax + 0xaec]
call fcn.0056432f
push 0x5dcb78
mov edx, dword [ebp - 0x838]
imul edx, edx, 0x3c
mov eax, dword [ebp - 0xe60]
lea ecx, [eax + edx + 0x126c]
call fcn.0056432f
jmp 0x51d3cb
mov ecx, dword [ebp - 0x838]
push ecx
mov ecx, dword [ebp - 0xe60]
add ecx, 0x10d2c
call fcn.004bb1a5
mov dword [ebp - 0x844], 1
jmp 0x51d576
push 0x5dcb7c
mov edx, dword [ebp - 0x838]
imul edx, edx, 0x3c
mov eax, dword [ebp - 0xe60]
lea ecx, [eax + edx + 0x14280]
call fcn.0056432f
push 0x5dcb80
mov ecx, dword [ebp - 0x838]
imul ecx, ecx, 0x124
add ecx, 0x5db8c4
push ecx
call fcn.0054bec0
add esp, 8
mov edx, dword [ebp - 0x838]
mov eax, dword [ebp - 0xe60]
mov dword [eax + edx*4 + 0x14b70], 1
mov ecx, dword [ebp - 0x838]
add ecx, 0x65
push ecx
mov ecx, dword [ebp - 0xe60]
call fcn.00411370
mov edx, dword [ebp - 0x838]
mov eax, dword [ebp - 0xe60]
mov dword [eax + edx*4 + 0x15328], 1
mov ecx, dword [ebp - 0x838]
add ecx, 0x75
push ecx
mov ecx, dword [ebp - 0xe60]
call fcn.00411370
push pe_nt_image_headers32
push 0
mov edx, dword [ebp - 0x838]
shl edx, 8
mov eax, dword [ebp - 0xe60]
lea ecx, [eax + edx + 0x10ff0]
push ecx
call fcn.0054bfb0
add esp, 0xc
push 0x200
push 0
mov edx, dword [ebp - 0x838]
shl edx, 9
mov eax, dword [ebp - 0xe60]
lea ecx, [eax + edx + 0x17400]
push ecx
call fcn.0054bfb0
add esp, 0xc
mov edx, dword [ebp - 0x838]
push edx
push 0x5b4494
lea eax, [ebp - 0x628]
push eax
call fcn.0054c45b
add esp, 0xc
lea ecx, [ebp - 0x628]
push ecx
call fcn.00536ebf
add esp, 4
mov edx, dword [ebp - 0x838]
push edx
mov ecx, dword [ebp - 0xe60]
add ecx, 0x10d2c
call fcn.004bb1a5
cmp dword [0x5be5e4], 0
je 0x51d56c
mov dword [ebp - 0x844], 0
mov eax, dword [ebp - 0x838]
mov ecx, dword [ebp - 0xe60]
mov edx, dword [ecx + eax*4 + 0x10f30]
and edx, 0xff
cmp edx, 2
jne 0x51d56a
mov eax, dword [ebp - 0x838]
mov ecx, dword [ebp - 0xe60]
mov edx, dword [ecx + eax*4 + 0x10f30]
and edx, 0xff00
mov eax, dword [ebp - 0x838]
mov ecx, dword [ebp - 0xe60]
mov dword [ecx + eax*4 + 0x10f30], edx
mov edx, dword [ebp - 0x838]
mov eax, dword [ebp - 0xe60]
mov dword [eax + edx*4 + 0x10f30], 0
jmp 0x51d576
mov dword [ebp - 0x844], 1
cmp dword [0x5be5e4], 0
je 0x51d58b
mov dword [ebp - 0x844], 0
jmp 0x51d5a2
mov ecx, dword [ebp - 0x838]
mov edx, dword [ebp - 0xe60]
mov dword [edx + ecx*4 + 0x14b70], 0
cmp dword [0x5be5e4], 0
je 0x51d5f1
mov eax, dword [ebp - 0xe60]
cmp dword [eax + 0x195a8], 0
je 0x51d5f1
mov ecx, dword [ebp - 0x838]
mov edx, dword [ebp - 0xe60]
cmp dword [edx + ecx*4 + 0x14b70], 0
je 0x51d5f1
mov dword [ebp - 0x844], 1
mov eax, dword [ebp - 0x838]
mov ecx, dword [ebp - 0xe60]
mov dword [ecx + eax*4 + 0x14b70], 0
cmp dword [ebp - 0x844], 0
je 0x51d7c4
mov edx, dword [ebp - 0x838]
mov eax, dword [ebp - 0xe60]
cmp dword [eax + edx*4 + 0x14b70], 0
jne 0x51d7c4
mov ecx, dword [ebp - 0x838]
add ecx, 1
push ecx
push 0x5b44b8
lea edx, [ebp - 0x228]
push edx
call fcn.0054c45b
add esp, 0xc
mov eax, dword [ebp - 0x838]
imul eax, eax, 0x3c
mov ecx, dword [ebp - 0xe60]
lea esi, [ecx + eax + 0x72c]
sub esp, 0x3c
mov ecx, 0xf
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp - 0x838]
push edx
push 0x5b44c0
lea eax, [ebp - 0x628]
push eax
call fcn.0054c45b
add esp, 0x48
lea ecx, [ebp - 0x228]
push ecx
mov edx, dword [ebp - 0x838]
imul edx, edx, 0x3c
mov eax, dword [ebp - 0xe60]
lea ecx, [eax + edx + 0x72c]
call fcn.0056432f
mov ecx, dword [ebp - 0x838]
mov edx, dword [ebp - 0xe60]
mov eax, dword [edx + ecx*4 + 0x10f30]
and eax, 0xff
cmp eax, 2
jne 0x51d6f4
mov ecx, dword [ebp - 0x838]
mov edx, dword [ebp - 0xe60]
mov eax, dword [edx + ecx*4 + 0x10f30]
and eax, 0xff00
mov ecx, dword [ebp - 0x838]
mov edx, dword [ebp - 0xe60]
mov dword [edx + ecx*4 + 0x10f30], eax
mov eax, dword [ebp - 0x838]
mov ecx, dword [ebp - 0xe60]
mov dword [ecx + eax*4 + 0x10f30], 0
push 0x5dcb84
mov edx, dword [ebp - 0x838]
imul edx, edx, 0x3c
mov eax, dword [ebp - 0xe60]
lea ecx, [eax + edx + 0xaec]
call fcn.0056432f
push 0x5dcb88
mov ecx, dword [ebp - 0x838]
imul ecx, ecx, 0x3c
mov edx, dword [ebp - 0xe60]
lea ecx, [edx + ecx + 0x126c]
call fcn.0056432f
push 0x5dcb8c
mov eax, dword [ebp - 0x838]
imul eax, eax, 0x3c
mov ecx, dword [ebp - 0xe60]
lea ecx, [ecx + eax + 0x14280]
call fcn.0056432f
push 0x5dcb90
mov edx, dword [ebp - 0x838]
imul edx, edx, 0x3c
mov eax, dword [ebp - 0xe60]
lea ecx, [eax + edx + 0xeac]
call fcn.0056432f
push pe_nt_image_headers32
push 0
mov ecx, dword [ebp - 0x838]
shl ecx, 8
mov edx, dword [ebp - 0xe60]
lea eax, [edx + ecx + 0x6d4d]
push eax
call fcn.0054bfb0
add esp, 0xc
mov ecx, dword [ebp - 0x838]
mov edx, dword [ebp - 0xe60]
mov dword [edx + ecx*4 + 0x7d50], 0
mov eax, dword [ebp - 0xe60]
add eax, dword [ebp - 0x838]
mov byte [eax + 0x8d90], 0
jmp 0x51c8b9
push 0x5dcb94
mov ecx, dword [ebp - 0xe60]
add ecx, 0x14914
call fcn.0056432f
cmp dword [0x5cc490], 0
je 0x51d939
cmp dword [ebp - 0x950], 0x10
jle 0x51d7ff
mov dword [ebp - 0x950], 0x10
mov ecx, dword [ebp - 0xe60]
mov edx, dword [ecx + 0x17370]
cmp edx, dword [ebp - 0x950]
jge 0x51d8ce
push 0
mov ecx, dword [ebp - 0xe60]
add ecx, 0x14644
call fcn.00564430
mov dword [ebp - 0x838], 0
jmp 0x51d845
mov eax, dword [ebp - 0x838]
add eax, 1
mov dword [ebp - 0x838], eax
cmp dword [ebp - 0x838], 8
jge 0x51d86d
push 0
mov ecx, dword [ebp - 0x838]
imul ecx, ecx, 0x3c
mov edx, dword [ebp - 0xe60]
lea ecx, [edx + ecx + 0x14680]
call fcn.00564430
jmp 0x51d836
push 5
mov ecx, dword [ebp - 0xe60]
add ecx, 0x14914
call fcn.00564430
mov eax, dword [ebp - 0xe60]
mov ecx, dword [ebp - 0x950]
sub ecx, dword [eax + 0x17370]
push ecx
mov edx, dword [ebp - 0xe60]
mov eax, dword [edx + 0x17370]
push eax
push 0x5b44dc
lea ecx, [ebp - 0x94c]
push ecx
call fcn.0054c45b
add esp, 0x10
lea edx, [ebp - 0x94c]
push edx
mov ecx, dword [ebp - 0xe60]
add ecx, 0x14914
call fcn.0056432f
jmp 0x51d937
mov dword [ebp - 0x838], 0
jmp 0x51d8e9
mov eax, dword [ebp - 0x838]
add eax, 1
mov dword [ebp - 0x838], eax
cmp dword [ebp - 0x838], 8
jge 0x51d911
push 5
mov ecx, dword [ebp - 0x838]
imul ecx, ecx, 0x3c
mov edx, dword [ebp - 0xe60]
lea ecx, [edx + ecx + 0x14680]
call fcn.00564430
jmp 0x51d8da
push 5
mov ecx, dword [ebp - 0xe60]
add ecx, 0x14644
call fcn.00564430
push 0
mov ecx, dword [ebp - 0xe60]
add ecx, 0x14914
call fcn.00564430
jmp 0x51d9a2
mov dword [ebp - 0x838], 0
jmp 0x51d954
mov eax, dword [ebp - 0x838]
add eax, 1
mov dword [ebp - 0x838], eax
cmp dword [ebp - 0x838], 8
jge 0x51d97c
push 5
mov ecx, dword [ebp - 0x838]
imul ecx, ecx, 0x3c
mov edx, dword [ebp - 0xe60]
lea ecx, [edx + ecx + 0x14680]
call fcn.00564430
jmp 0x51d945
push 5
mov ecx, dword [ebp - 0xe60]
add ecx, 0x14644
call fcn.00564430
push 0
mov ecx, dword [ebp - 0xe60]
add ecx, 0x14914
call fcn.00564430
mov eax, dword [ebp - 0xe60]
mov dword [eax + 0x15300], 0
mov eax, 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4