Function at 0x4c7054
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5753f8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x1125c
call fcn.0054c740
mov dword [ebp - 0x10238], 0x3f4
push 0x6785ac
push 0x1c20
push str.PRETESTTIMEOUT
push 0x5c700c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x6cb8], eax
mov dword [ebp - 0x1021c], 0
mov dword [ebp - 0x214], 0
mov edx, dword [ebp + 8]
mov dword [edx + 0x67c4], 1
push 0x5c7014
mov eax, dword [ebp + 8]
add eax, 0x5ea4
push eax
call fcn.0054c6e3
add esp, 8
cmp dword [0x5ea000], 0
jle 0x4c7138
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x7188], 0
je 0x4c7138
mov edx, dword [0x5ea000]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x59dc]
push ecx
push 6
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x7188]
call fcn.00417fc6
mov eax, dword [ebp + 8]
add eax, 0x5ea4
push eax
mov ecx, dword [0x5ea000]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x59dc]
push eax
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x7188]
call fcn.0041805c
mov edx, dword [ebp + 8]
cmp dword [edx + 0x5940], 8
jl 0x4c7180
mov eax, dword [ebp + 8]
cmp dword [eax + 0x5940], 0xd
jg 0x4c7180
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x5944]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov edx, dword [ebp + 8]
mov dword [edx + 0x5944], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5944]
shl ecx, 2
mov edx, dword [ebp + 8]
mov dword [edx + 0x5944], ecx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x5940], 0xe
jl 0x4c71a9
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x5940], 0x16
jg 0x4c71a9
mov edx, dword [ebp + 8]
push edx
call fcn.004c614d
add esp, 4
jmp 0x4c7f2a
mov eax, dword [ebp + 8]
cmp dword [eax + 0x7184], 0
jne 0x4c7296
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x5940], 8
jl 0x4c71d5
mov edx, dword [ebp + 8]
cmp dword [edx + 0x5940], 0xd
jle 0x4c7296
mov eax, dword [ebp + 8]
push eax
call fcn.004d0a7c
add esp, 4
mov dword [ebp - 0x1023c], eax
cmp dword [ebp - 0x1023c], 0xa
jbe 0x4c7296
push 0
push 0x28
push 0x10000
lea ecx, [ebp - 0x10214]
push ecx
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.004d0986
add esp, 0x18
mov dword [ebp - 0x10234], eax
cmp dword [ebp - 0x10234], 0
je 0x4c7296
mov eax, dword [ebp - 0x10016]
and eax, 0xff
cmp eax, 0x55
jne 0x4c7296
mov ecx, dword [ebp - 0x10015]
and ecx, 0xff
cmp ecx, 0xaa
jne 0x4c7296
push 0x10000
push 0
lea edx, [ebp - 0x10214]
push edx
call fcn.0054bf90
add esp, 0xc
push 0
push 0
push 0x80
push 0
push 0x2a
push 0x10000
lea eax, [ebp - 0x10214]
push eax
push 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.004cff24
add esp, 0x24
mov dword [ebp - 0x10234], eax
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.004d9b08
add esp, 8
mov eax, dword [ebp + 8]
cmp dword [eax + 0x59a4], 0
je 0x4c72cb
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5b1c]
and edx, 8
test edx, edx
je 0x4c72cb
mov eax, dword [ebp + 8]
cmp dword [eax + 0x5944], 0x2c
jge 0x4c72cb
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x5944], 0x2c
mov edx, dword [ebp + 8]
cmp dword [edx + 0x5e80], 0
je 0x4c73a8
mov eax, dword [ebp + 8]
cmp dword [eax + 0x7180], 2
jl 0x4c73a8
mov ecx, dword [ebp + 8]
xor edx, edx
mov dl, byte [ecx + 0x6cd9]
mov ecx, edx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6ca0]
cdq
idiv ecx
cmp eax, 0x14
jge 0x4c732a
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cl, byte [eax + 0x6cd9]
imul ecx, ecx, 0x14
mov edx, dword [ebp + 8]
mov dword [edx + 0x6ca0], ecx
mov dword [ebp - 0x214], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x5940], 0
jl 0x4c7344
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x5940], 7
jg 0x4c7344
jmp 0x4c73a8
mov edx, dword [ebp + 8]
xor eax, eax
mov al, byte [edx + 0x6cc0]
and eax, 0x20
test eax, eax
jne 0x4c736b
mov ecx, dword [ebp + 8]
xor edx, edx
mov dl, byte [ecx + 0x6cc0]
and edx, 0x80
test edx, edx
je 0x4c73a8
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cl, byte [eax + 0x6cd9]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6ca0]
cdq
idiv ecx
cmp eax, 0x2c
jge 0x4c73a8
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cl, byte [eax + 0x6cd9]
imul ecx, ecx, 0x2c
mov edx, dword [ebp + 8]
mov dword [edx + 0x6ca0], ecx
mov dword [ebp - 0x214], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x5940], 0
jl 0x4c751a
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x5940], 7
jg 0x4c751a
mov edx, dword [ebp + 8]
xor eax, eax
mov al, byte [edx + 0x6ad9]
test eax, eax
je 0x4c7469
push 0x10
push 0
lea ecx, [ebp - 0x1022c]
push ecx
call fcn.0054bf90
add esp, 0xc
mov edx, dword [ebp + 8]
add edx, 0x5d0
push edx
lea eax, [ebp - 0x1022c]
push eax
mov ecx, dword [ebp + 8]
xor edx, edx
mov dl, byte [ecx + 0x6cd8]
push edx
push 0
push 0
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cl, byte [eax + 0x6ad8]
shl ecx, 8
mov edx, dword [ebp + 8]
xor eax, eax
mov al, byte [edx + 0x6ad9]
add ecx, eax
push ecx
push 0xc
push 1
call fcn.0051cd16
add esp, 0x20
push 0
push 0
lea ecx, [ebp - 0x1022c]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004c2d67
add esp, 0x10
mov dword [ebp - 0x10234], eax
push 0x96
call dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [ebp - 0x1021c], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x5940], 6
je 0x4c751a
mov ecx, dword [ebp + 8]
xor edx, edx
mov dl, byte [ecx + 0x6ada]
test edx, edx
je 0x4c751a
push 0x10
push 0
lea eax, [ebp - 0x1022c]
push eax
call fcn.0054bf90
add esp, 0xc
mov ecx, dword [ebp + 8]
add ecx, 0x5d0
push ecx
lea edx, [ebp - 0x1022c]
push edx
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cl, byte [eax + 0x6cd8]
push ecx
push 0
push 0
mov edx, dword [ebp + 8]
xor eax, eax
mov al, byte [edx + 0x6ad8]
shl eax, 8
mov ecx, dword [ebp + 8]
xor edx, edx
mov dl, byte [ecx + 0x6ada]
add eax, edx
push eax
push 0xc
push 1
call fcn.0051cd16
add esp, 0x20
push 0
push 0
lea eax, [ebp - 0x1022c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004c2d67
add esp, 0x10
mov dword [ebp - 0x10234], eax
push 0xdc
call dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [ebp - 0x1021c], 1
mov edx, dword [ebp + 8]
cmp dword [edx + 0x5940], 0
jl 0x4c75a1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x5940], 7
jg 0x4c75a1
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x598c]
and edx, 8
test edx, edx
jne 0x4c75a1
push 0x10
push 0
lea eax, [ebp - 0x1022c]
push eax
call fcn.0054bf90
add esp, 0xc
mov ecx, dword [ebp + 8]
add ecx, 0x5d0
push ecx
lea edx, [ebp - 0x1022c]
push edx
push 0
push 0
push 0
push 0
push 0xc
push 1
call fcn.0051cd16
add esp, 0x20
push 0
push 0
lea eax, [ebp - 0x1022c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004c2d67
add esp, 0x10
mov dword [ebp - 0x10234], eax
mov dword [ebp - 0x1021c], 1
mov edx, dword [ebp + 8]
cmp dword [edx + 0x4f94], 0
je 0x4c7696
cmp dword [0x67f9f8], 0
je 0x4c7696
mov eax, dword [ebp + 8]
cmp dword [eax + 0x5940], 1
jl 0x4c75ea
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x5940], 4
je 0x4c7696
mov edx, dword [ebp + 8]
cmp dword [edx + 0x5940], 5
je 0x4c7696
mov dword [0x67f9f8], 0
lea ecx, [ebp - 0x10a4c]
call fcn.00566717
mov dword [ebp - 4], 0
lea eax, [ebp - 0x10a3c]
push eax
call fcn.00529440
add esp, 4
push str.UFD_MPFID.BIN
lea ecx, [ebp - 0x10a3c]
push ecx
call fcn.0054bea0
add esp, 8
push 0
push 0x1041
lea edx, [ebp - 0x10a3c]
push edx
lea ecx, [ebp - 0x10a4c]
call fcn.00566829
push 0x400
push 0
lea eax, [ebp - 0x10214]
push eax
call fcn.0054bf90
add esp, 0xc
push 0x400
lea ecx, [ebp - 0x10214]
push ecx
lea ecx, [ebp - 0x10a4c]
call fcn.00566980
lea ecx, [ebp - 0x10a4c]
call fcn.00566a44
mov dword [0x67f9f8], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10a4c]
call fcn.0056676c
mov edx, dword [ebp + 8]
cmp dword [edx + 0x4f4c], 0
je 0x4c76c0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x598c]
and ecx, 0x10
test ecx, ecx
jne 0x4c76c0
mov edx, dword [ebp + 8]
push edx
call fcn.004c586b
add esp, 4
jmp 0x4c76e2
cmp dword [ebp - 0x1021c], 0
je 0x4c76e2
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.004d9b08
add esp, 8
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [ebp + 8]
push ecx
call fcn.004ded10
add esp, 4
mov edx, dword [0x673eac]
mov dword [ebp - 0x10238], edx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x62f8], 0
je 0x4c7741
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x10238]
sub edx, dword [ecx + 0x5948]
cmp edx, 4
jge 0x4c7729
mov eax, dword [ebp + 8]
mov dword [eax + 0x5944], 4
jmp 0x4c7741
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x10238]
sub edx, dword [ecx + 0x5948]
mov eax, dword [ebp + 8]
mov dword [eax + 0x5944], edx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x5944]
mov dword [ebp - 0x10230], edx
push 0x10
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x4fcc]
push ecx
lea edx, [ebp - 0x1022c]
push edx
call fcn.0054c7e0
add esp, 0xc
mov eax, dword [ebp + 8]
cmp dword [eax + 0x5e88], 0
je 0x4c7912
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x5940], 0
jl 0x4c7910
mov edx, dword [ebp + 8]
cmp dword [edx + 0x5940], 7
jg 0x4c7910
mov eax, dword [ebp + 8]
mov cl, byte [eax + 0x5e94]
mov byte [ebp - 0x10224], cl
mov edx, dword [ebp + 8]
xor eax, eax
mov al, byte [edx + 0x4fd6]
test eax, eax
jne 0x4c77e8
mov ecx, dword [ebp + 8]
xor edx, edx
mov dl, byte [ecx + 0x4fd7]
test edx, edx
jne 0x4c77e8
mov eax, dword [ebp + 8]
mov cl, byte [eax + 0x4fd4]
mov byte [ebp - 0x1021e], cl
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x4fd5]
mov byte [ebp - 0x1021d], al
jmp 0x4c7806
mov ecx, dword [ebp + 8]
mov dl, byte [ecx + 0x4fd6]
mov byte [ebp - 0x1021e], dl
mov eax, dword [ebp + 8]
mov cl, byte [eax + 0x4fd7]
mov byte [ebp - 0x1021d], cl
mov edx, dword [ebp + 8]
cmp dword [edx + 0x5e9c], 0
jne 0x4c785a
mov eax, dword [ebp - 0x10238]
sub eax, dword [ebp - 0x10230]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov byte [ebp - 0x10229], al
mov eax, dword [ebp - 0x10238]
sub eax, dword [ebp - 0x10230]
and eax, reloc.WSOCK32.dll_closesocket
jns 0x4c7845
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x4c7858
mov cl, byte [ebp - 0x10229]
add cl, 1
mov byte [ebp - 0x10229], cl
jmp 0x4c786f
mov eax, dword [ebp - 0x10238]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov byte [ebp - 0x10229], al
mov edx, dword [ebp + 8]
cmp dword [edx + 0x7180], 2
jne 0x4c7910
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cl, byte [eax + 0x6cd9]
test ecx, ecx
je 0x4c78da
mov edx, dword [ebp + 8]
xor eax, eax
mov al, byte [edx + 0x6cd9]
mov ecx, eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6ca0]
cdq
idiv ecx
mov dword [ebp - 0x10218], eax
cmp dword [ebp - 0x214], 0
jne 0x4c78da
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5b1c]
and ecx, 8
neg ecx
sbb ecx, ecx
and ecx, 2
add ecx, 2
mov edx, dword [ebp - 0x10218]
add edx, ecx
mov dword [ebp - 0x10218], edx
mov eax, dword [ebp - 0x10238]
sub eax, dword [ebp - 0x10218]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov byte [ebp - 0x10229], al
mov eax, dword [ebp - 0x10218]
mov dword [ebp - 0x10230], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x10218]
mov dword [ecx + 0x599c], edx
jmp 0x4c7958
mov eax, dword [ebp - 0x10238]
sub eax, dword [ebp - 0x10230]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov byte [ebp - 0x10229], al
mov eax, dword [ebp - 0x10238]
sub eax, dword [ebp - 0x10230]
and eax, reloc.WSOCK32.dll_closesocket
jns 0x4c7945
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x4c7958
mov cl, byte [ebp - 0x10229]
add cl, 1
mov byte [ebp - 0x10229], cl
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5994]
mov dword [ebp - 0x11268], eax
cmp dword [ebp - 0x11268], 7
ja case.default.0x4c7976
mov ecx, dword [ebp - 0x11268]
jmp dword [ecx*4 + 0x4c7f38]
mov byte [ebp - 0x10220], 4
jmp case.default.0x4c7976
mov byte [ebp - 0x10220], 5
jmp case.default.0x4c7976
mov byte [ebp - 0x10220], 7
jmp case.default.0x4c7976
mov byte [ebp - 0x10220], 0x14
jmp case.default.0x4c7976
mov byte [ebp - 0x10220], 0x17
jmp case.default.0x4c7976
mov byte [ebp - 0x10220], 0x54
jmp case.default.0x4c7976
mov byte [ebp - 0x10220], 0x14
mov byte [ebp - 0x10226], 1
mov byte [ebp - 0x10222], 0x5a
jmp case.default.0x4c7976
mov byte [ebp - 0x10220], 0x14
mov byte [ebp - 0x10226], 1
mov byte [ebp - 0x10222], 0xa5
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5b1c]
and eax, 8
test eax, eax
je 0x4c79fe
mov cl, byte [ebp - 0x10220]
or cl, 0x80
mov byte [ebp - 0x10220], cl
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x5b1c]
and eax, 0x80
test eax, eax
je 0x4c7a1f
mov cl, byte [ebp - 0x10220]
or cl, 0x20
mov byte [ebp - 0x10220], cl
mov dl, byte [ebp - 0x10230]
mov byte [ebp - 0x1021f], dl
mov eax, dword [ebp + 8]
cmp dword [eax + 0x5940], 0
jl 0x4c7a7d
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x5940], 7
jg 0x4c7a7d
mov byte [ebp - 0x1021f], 0xf
mov edx, dword [ebp + 8]
cmp dword [edx + 0xc4], 0
je 0x4c7a7d
mov eax, dword [ebp + 8]
cmp dword [eax + 0x2870], 0
jl 0x4c7a7d
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x2870], 7
jg 0x4c7a7d
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x2870]
mov byte [ebp - 0x1021e], al
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x66a4], 0
je 0x4c7a98
mov dl, byte [ebp - 0x1021d]
or dl, 1
mov byte [ebp - 0x1021d], dl
mov eax, dword [ebp + 8]
cmp dword [eax + 0x5940], 8
jl 0x4c7ac3
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x5940], 0xd
jg 0x4c7ac3
lea edx, [ebp - 0x1022c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004c5c7b
add esp, 8
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x5e88], 0
jne 0x4c7b01
mov edx, dword [ebp + 8]
cmp dword [edx + 0x5940], 0
jl 0x4c7b01
mov eax, dword [ebp + 8]
cmp dword [eax + 0x5940], 0xd
jg 0x4c7b01
mov ecx, dword [ebp + 8]
xor edx, edx
mov dl, byte [ecx + 0x4fd2]
and edx, 0x20
neg edx
sbb edx, edx
neg edx
mov byte [ebp - 0x1021d], dl
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x59b8]
cdq
and edx, 0x1ff
add eax, edx
sar eax, 9
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x59b8]
and edx, 0x800001ff
jns 0x4c7b32
dec edx
or edx, 0xfffffe00
inc edx
test edx, edx
je 0x4c7b3f
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x4f94], 0
je 0x4c7c0e
cmp dword [0x67f9fc], 0
je 0x4c7c0e
mov dword [0x67f9fc], 0
lea ecx, [ebp - 0x1125c]
call fcn.00566717
mov dword [ebp - 4], 1
lea edx, [ebp - 0x1124c]
push edx
call fcn.00529440
add esp, 4
push str.UFD_MPPRETest.BIN
lea eax, [ebp - 0x1124c]
push eax
call fcn.0054bea0
add esp, 8
push 0
push 0x1041
lea ecx, [ebp - 0x1124c]
push ecx
lea ecx, [ebp - 0x1125c]
call fcn.00566829
push 0x10
lea edx, [ebp - 0x1022c]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x4fcc]
push ecx
call fcn.0054c7e0
add esp, 0xc
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x59b8]
add eax, 0x10
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x4fcc]
push edx
lea ecx, [ebp - 0x1125c]
call fcn.00566980
lea ecx, [ebp - 0x1125c]
call fcn.00566a44
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1125c]
call fcn.0056676c
mov eax, dword [ebp + 8]
cmp dword [eax + 0x5940], 4
je 0x4c7c2a
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x5940], 5
jne 0x4c7d89
mov dword [ebp - 0x11260], 8
mov edx, dword [ebp + 8]
cmp dword [edx + 0x5e88], 0
je 0x4c7c73
mov al, byte [ebp - 0x10220]
mov byte [ebp - 0x11264], al
push 0x10
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x4fcc]
push edx
lea eax, [ebp - 0x1022c]
push eax
call fcn.0054c7e0
add esp, 0xc
mov cl, byte [ebp - 0x11264]
mov byte [ebp - 0x10220], cl
push 0x1000
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x4fcc]
add eax, 0x10
push eax
lea ecx, [ebp - 0x1022c]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004c397a
add esp, 0x10
mov dword [ebp - 0x10234], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x59b8], 0x2000
jle 0x4c7cf0
mov ecx, dword [ebp + 8]
push ecx
call fcn.004ded10
add esp, 4
push 0x1000
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x4fcc]
add eax, 0x1010
push eax
lea ecx, [ebp - 0x1022c]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004c397a
add esp, 0x10
mov dword [ebp - 0x10234], eax
mov dword [ebp - 0x11260], 0x10
mov eax, dword [ebp + 8]
push eax
call fcn.004ded10
add esp, 4
mov ecx, dword [ebp - 0x11260]
shl ecx, 9
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x59b8]
sub eax, ecx
cdq
and edx, 0x1ff
add eax, edx
sar eax, 9
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x11260]
shl eax, 9
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x59b8]
sub edx, eax
and edx, 0x800001ff
jns 0x4c7d43
dec edx
or edx, 0xfffffe00
inc edx
test edx, edx
je 0x4c7d50
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
shl ecx, 9
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x4fcc]
mov ecx, dword [ebp - 0x11260]
shl ecx, 9
lea edx, [eax + ecx + 0x10]
push edx
lea eax, [ebp - 0x1022c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.004c397a
add esp, 0x10
mov dword [ebp - 0x10234], eax
jmp 0x4c7db6
mov edx, dword [ebp - 0x10]
shl edx, 9
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x4fcc]
add ecx, 0x10
push ecx
lea edx, [ebp - 0x1022c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004c397a
add esp, 0x10
mov dword [ebp - 0x10234], eax
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x5940], 0
jl 0x4c7dd9
mov edx, dword [ebp + 8]
cmp dword [edx + 0x5940], 7
jg 0x4c7dd9
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp + 8]
cmp dword [eax + 0x7184], 0
je 0x4c7e48
push 0x10
push 0
lea ecx, [ebp - 0x1022c]
push ecx
call fcn.0054bf90
add esp, 0xc
push 0
push 0
lea edx, [ebp - 0x1022c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004c2d67
add esp, 0x10
mov dword [ebp - 0x10234], eax
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0
lea ecx, [ebp - 0x1022c]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004c2d67
add esp, 0x10
mov dword [ebp - 0x10234], eax
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x598c]
and ecx, 0x10
test ecx, ecx
je 0x4c7e64
mov edx, dword [ebp + 8]
push edx
call fcn.004c586b
add esp, 4
push 0
push 0x200
lea eax, [ebp - 0x210]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0051b488
add esp, 0x10
mov dword [ebp - 0x10234], eax
mov edx, dword [ebp + 8]
mov dword [edx + 0x6cb8], 2
mov eax, dword [ebp + 8]
add eax, 0x5d0
push eax
lea ecx, [ebp - 0x210]
push ecx
call fcn.0051d0f3
add esp, 8
mov edx, dword [ebp + 8]
cmp dword [edx + 0x5e88], 0
je 0x4c7eca
mov eax, dword [ebp + 8]
cmp dword [eax + 0x61c], 0
jle 0x4c7ec8
mov eax, 1
jmp 0x4c7f2a
jmp 0x4c7f28
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x5940], 8
jl 0x4c7ee9
mov edx, dword [ebp + 8]
cmp dword [edx + 0x5940], 0xd
jg 0x4c7ee9
mov eax, 1
jmp 0x4c7f2a
mov eax, dword [ebp + 8]
cmp dword [eax + 0x5940], 0
jl 0x4c7f28
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x5940], 7
jg 0x4c7f28
mov edx, dword [ebp + 8]
cmp dword [edx + 0x614], 0
je 0x4c7f28
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x614]
cmp edx, dword [ecx + 0x61c]
jne 0x4c7f28
mov eax, 1
jmp 0x4c7f2a
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret