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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x39c
mov eax, dword [esp + 0x3b8]
mov ebp, dword [eax + 0x2c]
test ebp, ebp
je 0x4c7148
mov ecx, dword [esp + 0x3b4]
mov edx, dword [ecx]
lea eax, [edx - 7]
cmp eax, 1
jbe 0x4c7153
lea eax, [edx - 9]
cmp eax, 1
ja 0x4c6a7a
mov ebx, dword [esp + 0x3b4]
cmp dword [ebx + 0x18], 2
je 0x4c7148
mov ecx, dword [esp + 0x3b8]
cmp edx, 6
mov edi, dword [esp + 0x3b8]
mov eax, dword [ecx + 0x28]
mov edi, dword [edi + 4]
mov eax, dword [eax + 0x4c]
mov dword [esp + 0x64], edi
mov dword [esp + 0x5c], eax
je 0x4c73f5
mov edi, dword [esp + 0x3b0]
cmp edx, 2
mov ecx, dword [edi + 0xbb8]
je 0x4c715f
lea eax, [ecx + 1]
cmp eax, 0x1d
jle 0x4c73ac
mov ebx, dword [esp + 0x3b0]
xor ecx, ecx
mov dword [ebx + 0xbb8], ecx
xor ecx, ecx
mov edx, dword [esp + 0x3b0]
lea eax, [ecx + ecx*2]
shl eax, 5
add eax, edx
mov dword [esp + 0x54], eax
mov eax, 0x60
mov edx, dword [esp + 0x54]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp], edx
mov dword [esp + 4], eax
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x54]
xor eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [ecx]
mov edi, dword [eax*4 + 0x5a85e0]
test edi, 1
jne 0x4c73dc
test edi, 2
je 0x4c73c0
mov edi, dword [esp + 0x54]
mov edi, dword [edi + 0x34]
mov dword [esp + 0x34], edi
cld
mov edx, dword [esp + 0x3b0]
xor edi, edi
mov dword [esp + 0x4c], edi
mov ecx, dword [esp + 0x34]
xor ebp, ebp
mov dword [esp + 0x50], ebp
lea edi, [esp + 0x1a0]
mov eax, dword [edx + 0xbb8]
mov dword [edx + eax*4 + 0xb40], ecx
mov edx, dword [esp + 0x54]
xor eax, eax
mov ecx, 3
rep stosd dword es:[edi], eax
cmp dword [edx], 0x23
je 0x4c6bc8
xor esi, esi
mov ecx, dword [esp + 0x34]
lea ebx, [esp + 0x1a0]
mov dword [esp + 0x1a0], esi
mov edi, dword [esp + 0x5c]
mov eax, dword [edx]
mov dword [esp + 0x1a8], ecx
mov dword [esp + 4], ebx
mov dword [esp + 0x1a4], eax
mov dword [esp], edi
call dword [edi + 0x2c]
test eax, eax
je 0x4c6bb9
mov eax, dword [eax + 0xc]
mov dword [esp + 0x50], eax
mov ebx, dword [esp + 0x1a8]
test ebx, ebx
jne 0x4c7417
mov eax, 5
xor edx, edx
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x3c], eax
mov eax, dword [0x5ecbec]
lea ebx, [esp + 0x2b0]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x40], edx
mov dword [esp], ebx
call dword [eax + 0x1f0]
mov eax, dword [esp + 0x3bc]
test eax, eax
jle 0x4c6e1b
mov edi, dword [esp + 0x3b0]
add edi, 0xbbc
mov dword [esp + 0x24], edi
jmp 0x4c6ca7
test ebx, ebx
je 0x4c6c89
mov eax, dword [esp + 0x8c]
mov edx, dword [eax + 4]
test edx, edx
je 0x4c7194
cmp dword [eax + 4], 1
je 0x4c71b4
mov ebx, dword [esp + 0x3c]
cmp dword [esp + 0x40], ebx
jae 0x4c726a
inc dword [eax + 0x14]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x2c]
mov dword [ecx + edx*4 + 0xc], eax
inc edx
mov dword [esp + 0x40], edx
mov eax, 1
mov ebp, 0x5d117f
lea ebx, [esp + 0x2b0]
mov dword [esp + 8], eax
mov eax, dword [0x5ecbec]
mov dword [esp + 4], ebp
mov dword [esp], ebx
call dword [eax + 0x1dc]
dec dword [esp + 0x3bc]
add dword [esp + 0x3c0], 4
mov edi, dword [esp + 0x3bc]
test edi, edi
jle 0x4c6e1b
mov edx, dword [esp + 0x3c0]
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x34]
mov eax, dword [edx]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x1a0], eax
mov eax, dword [ecx]
mov ecx, dword [esp + 0x3b0]
mov dword [esp], edx
mov dword [esp + 0x1a4], eax
lea eax, [esp + 0x1a0]
mov dword [esp + 0x1a8], edi
mov dword [esp + 4], eax
call dword [ecx + 0xbe8]
test eax, eax
mov edx, eax
je 0x4c6d2e
lea eax, [esp + 0x8c]
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [edx + 0xc]
mov edx, dword [esp + 0x3b0]
mov dword [esp], eax
mov eax, dword [esp + 0x64]
call fcn.004c3950
mov ebx, eax
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4c6d69
mov dword [esp + 4], ebx
lea eax, [esp + 0x8c]
mov edi, dword [esp + 0x3c0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x3b0]
mov dword [esp + 8], edi
mov dword [esp], eax
mov eax, dword [esp + 0x64]
call fcn.004c3950
mov ebx, eax
mov ebp, dword [esp + 0x34]
test ebp, ebp
setne al
xor edx, edx
test ebx, ebx
sete dl
test edx, eax
je 0x4c6c20
xor edi, edi
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a8], edi
mov edi, dword [esp + 0x3b0]
mov dword [esp + 4], edx
mov dword [esp], ecx
call dword [edi + 0xbe8]
test eax, eax
mov edx, eax
je 0x4c6dd7
mov dword [esp + 4], ebx
lea eax, [esp + 0x8c]
xor esi, esi
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov eax, dword [edx + 0xc]
mov edx, edi
mov dword [esp], eax
mov eax, dword [esp + 0x64]
call fcn.004c3950
mov ebx, eax
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x4c6c20
mov dword [esp + 4], ebx
lea eax, [esp + 0x8c]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c0]
mov dword [esp], edx
mov edx, dword [esp + 0x3b0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x64]
call fcn.004c3950
mov ebx, eax
jmp 0x4c6c20
mov esi, dword [esp + 0x2b4]
test esi, esi
je 0x4c7148
mov edi, dword [esp + 0x3b0]
lea eax, [esp + 0x1d0]
mov edi, dword [edi + 0xc2c]
mov dword [esp], eax
mov eax, dword [0x5ecbec]
mov dword [esp + 0x38], edi
call dword [eax + 0x1f0]
mov dword [esp], edi
mov eax, dword [0x5ecbec]
lea edx, [esp + 0x1d0]
mov dword [esp + 4], edx
call dword [eax + 0x1ec]
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x5c]
mov eax, dword [esp + 0x64]
add ecx, 0x70
mov ebx, dword [ebx + 0x70]
mov dword [esp + 0x60], ecx
mov edi, dword [ecx + 4]
cmp ebx, eax
mov dword [esp + 0x58], ebx
mov dword [esp + 0x48], edi
je 0x4c7bc3
mov ecx, dword [esp + 0x3b8]
mov eax, dword [ecx + 8]
mov edi, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x5c]
mov dword [edx + 4], eax
mov edx, dword [edi + 8]
mov dword [ebx + 0x70], edi
mov dword [esp], eax
mov eax, dword [esp + 0x38]
call fcn.004c3e40
mov ebx, dword [esp + 0x40]
test ebx, ebx
je 0x4c6ee6
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x3b8]
mov eax, dword [ecx + 0x7c]
mov dword [ebx + 8], 0
mov dword [ebx + 4], edi
mov dword [ebx], eax
mov dword [ecx + 0x7c], ebx
mov eax, dword [esp + 0x3b8]
mov edx, dword [esp + 0x3b8]
mov esi, dword [esp + 0x2b0]
mov edi, dword [eax + 0x98]
mov ebx, dword [esp + 0x5c]
mov eax, edi
and eax, 0xfffff7ff
mov dword [edx + 0x98], eax
mov ecx, dword [esp + 0x2b4]
mov dword [esp], ebx
mov eax, dword [0x5ecbec]
add ecx, esi
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov dword [esp + 0x44], ecx
call dword [eax + 0x32c]
cmp esi, dword [esp + 0x30]
jae 0x4c700d
mov eax, dword [esp + 0x5c]
mov edx, dword [eax + 0x80]
test edx, edx
jne 0x4c6f52
mov edx, dword [esp + 0x60]
inc dword [edx + 8]
mov ecx, dword [esp + 0x38]
mov eax, dword [0x5ecbec]
mov dword [esp], ecx
call dword [eax + 0x118]
cmp byte [esi], 0
jne 0x4c7987
mov eax, dword [esp + 0x44]
xor ebp, ebp
mov edx, dword [esp + 0x2c]
mov ebx, dword [edx + eax*4 + 0xc]
inc eax
mov dword [esp + 0x44], eax
mov eax, dword [edx + 8]
test eax, eax
jne 0x4c6f91
test byte [ebx + 0x10], 2
je 0x4c79cc
mov eax, dword [ebx + 0x14]
dec eax
test eax, eax
mov dword [ebx + 0x14], eax
jne 0x4c6fb8
test byte [ebx + 0x10], 2
je 0x4c6fb8
mov eax, dword [ebx + 8]
test eax, eax
jne 0x4c7aec
mov dword [esp], ebx
mov eax, dword [0x5ecbec]
call dword [eax + 0x18]
mov edx, dword [esp + 0x5c]
inc esi
mov eax, dword [edx + 0x80]
test eax, eax
jne 0x4c6fce
mov ecx, dword [esp + 0x60]
dec dword [ecx + 8]
test ebp, ebp
je 0x4c6f33
cmp ebp, 4
je 0x4c6f33
cmp ebp, 3
je 0x4c700d
mov ebx, dword [esp + 0x38]
mov eax, 0x5d14e8
mov dword [esp + 4], eax
mov eax, dword [0x5ecbec]
mov dword [esp], ebx
call dword [eax + 0x110]
mov dword [esp], ebx
mov eax, dword [0x5ecbec]
call dword [eax + 0x138]
mov eax, dword [esp + 0x40]
test eax, eax
je 0x4c7074
mov eax, dword [esp + 0x2c]
mov ebp, dword [eax + 8]
test ebp, ebp
jne 0x4c7074
mov ecx, dword [esp + 0x3b8]
and edi, 0x800
mov edx, dword [ecx + 0x98]
mov eax, edx
and eax, 0xfffff7ff
or eax, edi
mov dword [ecx + 0x98], eax
test dh, 8
je 0x4c7074
mov eax, dword [ecx + 0xc8]
test eax, eax
je 0x4c7074
cmp dword [eax], 0xc
jbe 0x4c7074
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4c7074
mov edi, dword [esp + 0x3b4]
mov edx, dword [esp + 0x3b8]
mov dword [esp + 4], edi
mov dword [esp], edx
call eax
mov ecx, dword [esp + 0x5c]
mov edi, dword [ecx + 0x80]
test edi, edi
jne 0x4c70b9
mov ebx, dword [esp + 0x60]
mov esi, dword [ebx + 8]
test esi, esi
je 0x4c70b9
mov edi, dword [esp + 0x58]
cmp dword [ebx], edi
je 0x4c7c8c
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x38]
mov dword [edx], ecx
mov dword [edx + 4], ebx
mov edx, dword [ecx + 8]
mov dword [esp], ebx
call fcn.004c3e40
mov eax, dword [esp + 0x38]
lea edi, [esp + 0x1d0]
mov dword [esp + 4], edi
mov dword [esp], eax
mov eax, dword [0x5ecbec]
call dword [eax + 0x1f4]
mov eax, dword [0x5ecbec]
lea edx, [esp + 0x2b0]
mov dword [esp], edx
call dword [eax + 0x1e8]
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x4c7136
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + 0x80]
test edx, edx
jne 0x4c711a
mov edx, ecx
add edx, 0x7c
jmp 0x4c710a
mov edx, eax
mov eax, dword [edx]
cmp eax, dword [esp + 0x2c]
jne 0x4c7108
mov ebx, dword [esp + 0x2c]
mov eax, dword [ebx]
mov dword [edx], eax
lea ebx, [esp + 0x1b0]
cmp ebx, dword [esp + 0x2c]
je 0x4c7136
mov edi, dword [esp + 0x2c]
mov eax, dword [0x5ecbec]
mov dword [esp], edi
call dword [eax + 0x18]
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov eax, dword [0x5ecbec]
call dword [eax + 0x368]
add esp, 0x39c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [ecx + 0x34], 2
jne 0x4c6a61
jmp 0x4c7148
mov eax, dword [esp + 0x64]
xor edx, edx
mov esi, dword [eax + 0xd4]
jmp 0x4c718b
mov ebx, dword [esp + 0x64]
mov edi, dword [esp + 0x3b4]
mov eax, dword [ebx + 0xd8]
mov ebx, dword [edi + 0x34]
cmp dword [eax + edx*4], ebx
je 0x4c7a20
inc edx
cmp esi, edx
jg 0x4c716d
jmp 0x4c6ab8
mov dword [esp], 0x5d1506
mov eax, dword [0x5ecbec]
call dword [eax + 0x10]
mov eax, dword [esp + 0x8c]
cmp dword [eax + 4], 1
jne 0x4c6c40
mov esi, dword [eax + 0xc]
lea ecx, [esp + 0xc0]
xor ebp, ebp
mov dword [esp], ecx
mov eax, dword [0x5ecbec]
call dword [eax + 0x1f0]
mov ebx, dword [esp + 0x3b4]
mov eax, dword [ebx]
cmp eax, 0x26
jg 0x4c71f0
mov ebp, dword [eax*4 + 0x5a85e0]
lea esi, [esi]
lea edi, [edi]
movzx ecx, byte [esi]
mov edi, esi
test cl, cl
setne al
xor edx, edx
cmp cl, 0x25
setne dl
jmp 0x4c7215
inc edi
movzx eax, byte [edi]
test al, al
setne dl
cmp al, 0x25
setne al
movzx eax, al
test edx, eax
jne 0x4c7204
cmp edi, esi
je 0x4c7243
mov dword [esp + 4], esi
mov eax, edi
sub eax, esi
mov dword [esp + 8], eax
lea eax, [esp + 0x2b0]
mov esi, edi
mov dword [esp], eax
mov eax, dword [0x5ecbec]
call dword [eax + 0x1dc]
movzx ecx, byte [edi]
test cl, cl
je 0x4c7392
movzx edx, byte [esi + 1]
mov edi, 0x5d1524
movsx eax, dl
sub eax, 0x23
cmp eax, 0x56
ja case.0x4c7263.36
jmp dword [eax*4 + 0x5d1528]
mov eax, dword [esp + 0x3c]
shl ebx, 2
mov dword [esp + 0x28], ebx
add ebx, 0xc
add eax, eax
mov dword [esp + 0x3c], eax
lea eax, [eax*4 + 0xc]
mov dword [esp], eax
mov eax, dword [0x5ecbec]
call dword [eax + 0x14]
cmp ebx, 7
mov esi, dword [esp + 0x2c]
mov ebp, eax
mov edi, eax
mov eax, ebx
jbe 0x4c72bd
test ebp, 4
je 0x4c72bd
mov eax, dword [esi]
lea edi, [ebp + 4]
mov dword [ebp], eax
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
add esi, 4
add eax, 8
cld
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x1b0]
cmp edi, dword [esp + 0x2c]
je 0x4c72e1
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
mov eax, dword [0x5ecbec]
call dword [eax + 0x18]
mov dword [esp + 0x2c], ebp
mov eax, dword [esp + 0x8c]
jmp 0x4c6c4e
mov byte [esp + 0x90], dl
xor eax, eax
lea edi, [esp + 0x90]
mov byte [esp + 0x91], al
nop
lea esi, [esi]
mov dword [esp], edi
lea eax, [esp + 0x68]
add esi, 2
mov dword [esp + 4], eax
mov eax, dword [0x5ecbec]
call dword [eax + 0x370]
mov ebx, dword [esp + 0x2b4]
lea eax, [ebx + eax]
mov dword [esp + 4], eax
lea eax, [esp + 0x2b0]
mov dword [esp], eax
mov eax, dword [0x5ecbec]
call dword [eax + 0x1f8]
mov dword [esp], edi
mov eax, dword [esp + 0x68]
or eax, 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2b0]
add eax, ebx
mov dword [esp + 4], eax
mov eax, dword [0x5ecbec]
call dword [eax + 0x158]
lea edx, [esp + 0x2b0]
mov dword [esp], edx
add ebx, eax
mov eax, dword [0x5ecbec]
mov dword [esp + 4], ebx
call dword [eax + 0x1f8]
jmp 0x4c71f0
mov eax, dword [0x5ecbec]
lea ecx, [esp + 0xc0]
mov dword [esp], ecx
call dword [eax + 0x1e8]
jmp 0x4c6c62
mov edi, dword [esp + 0x3b0]
mov ecx, eax
mov dword [edi + 0xbb8], eax
jmp 0x4c6ad5
and edi, 0x20000
je 0x4c6b3e
mov eax, dword [esp + 0x54]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x34], eax
jmp 0x4c6b3e
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0x64]
mov dword [esp], ebx
call fcn.00518360
mov dword [esp + 0x34], eax
jmp 0x4c6b3e
mov ebx, dword [esp + 0x3b0]
mov ecx, dword [ebx + 0xbb8]
lea eax, [ecx + ecx*2]
shl eax, 5
cmp dword [eax + ebx], 6
jne 0x4c6ab8
jmp 0x4c6ad5
mov edx, dword [esp + 0x5c]
xor ecx, ecx
lea eax, [esp + 0x1a0]
mov dword [esp + 0x1a8], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call dword [edx + 0x2c]
test eax, eax
je 0x4c6bc8
mov eax, dword [eax + 0xc]
mov dword [esp + 0x4c], eax
jmp 0x4c6bc8
test ebp, 0x20007
jne 0x4c79bd
test ebp, 0x20
je 0x4c7afa
mov ecx, dword [esp + 0x3b4]
mov ebx, dword [ecx + 0x18]
mov dword [esp + 8], ebx
mov eax, 0x5d1231
lea ebx, [esp + 0x90]
mov dword [esp + 4], eax
mov edi, ebx
mov dword [esp], ebx
call sub.msvcrt.dll_sprintf
jmp 0x4c7310
test ebp, 0x20007
jne 0x4c7be9
test ebp, 8
je 0x4c7b5e
mov ecx, dword [esp + 0x3b4]
mov ebx, dword [ecx + 0x20]
jmp 0x4c746b
test ebp, 0x20
jne 0x4c7a02
test ebp, 0x1000
jne 0x4c7a11
mov edx, ebp
test dl, dl
js 0x4c74a6
test ebp, 0x100000
je 0x4c7c9e
mov edi, dword [esp + 0x3b4]
mov ebx, dword [edi + 0x20]
jmp 0x4c746b
mov ecx, dword [esp + 0x3b4]
mov ebx, dword [ecx + 0x34]
jmp 0x4c746b
test ebp, 0x2000f
je 0x4c7310
mov ecx, dword [esp + 0x3b4]
mov eax, dword [ecx + 0x10]
mov ebx, dword [ecx + 0x28]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0xc]
mov dword [esp], eax
call fcn.0049ca00
test eax, eax
mov edx, eax
je 0x4c746b
mov dword [esp], edx
lea eax, [esp + 0x88]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x84]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x80]
mov dword [esp + 8], eax
lea eax, [esp + 0x7c]
mov dword [esp + 4], eax
call fcn.004b5f80
mov eax, dword [esp + 0x7c]
sub ebx, eax
jmp 0x4c746b
mov edx, dword [esp + 0x3b4]
mov edi, 0x5d1524
mov eax, dword [edx + 0x10]
mov dword [esp + 4], eax
mov eax, dword [edx + 0xc]
mov dword [esp], eax
call fcn.0049ca00
test eax, eax
je 0x4c7310
mov edi, dword [eax + 0x2c]
jmp 0x4c7310
mov ecx, ebp
test cl, cl
js 0x4c7c07
test ebp, 0x100000
jne 0x4c7c43
test ebp, 0x80000
jne 0x4c7876
mov ecx, dword [esp + 0x3b4]
mov eax, dword [ecx + 0x10]
mov dword [esp + 4], eax
lea ebx, [esp + 0x90]
mov edi, ebx
mov dword [esp], ebx
call fcn.004bc5f0
jmp 0x4c7310
test ebp, 0x20
jne 0x4c7a11
test ebp, 0x1000
jne 0x4c79bd
mov ecx, ebp
test cl, cl
jns 0x4c7c52
mov edi, dword [esp + 0x3b4]
mov ebx, dword [edi + 0x24]
jmp 0x4c746b
test ebp, 8
je 0x4c7310
mov edi, dword [esp + 0x3b4]
mov ebx, dword [edi + 0x3c]
jmp 0x4c746b
test ebp, 0x18
je 0x4c7a97
test ebp, 0x10
je 0x4c7c34
mov edx, dword [esp + 0x3b4]
mov ebx, dword [edx + 0x18]
mov dword [esp + 4], ebx
mov dword [esp], 0x5a8700
call fcn.005106b0
mov edi, eax
jmp 0x4c7310
test ebp, 0x20
je 0x4c7310
mov eax, dword [esp + 0x3b4]
mov ebx, dword [eax + 0x24]
jmp 0x4c746b
test ebp, 0x1000
je 0x4c7310
mov ecx, dword [esp + 0x3b4]
mov eax, dword [ecx + 0x2c]
jmp 0x4c75bf
test ebp, 0x2000f
je 0x4c7310
mov edi, dword [esp + 0x3b4]
mov eax, dword [edi + 0x10]
mov ebx, dword [edi + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [edi + 0xc]
mov dword [esp], eax
call fcn.0049ca00
test eax, eax
mov edx, eax
je 0x4c746b
mov dword [esp], edx
lea eax, [esp + 0x78]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x74]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x70]
mov dword [esp + 8], eax
lea eax, [esp + 0x6c]
mov dword [esp + 4], eax
call fcn.004b5f80
mov eax, dword [esp + 0x70]
sub ebx, eax
jmp 0x4c746b
mov edx, dword [esp + 0x3b4]
mov ebx, dword [edx + 8]
jmp 0x4c746b
test ebp, 1
je 0x4c7310
mov eax, dword [esp + 0x3b4]
mov ebx, dword [eax + 0x34]
jmp 0x4c746b
mov eax, ebp
test al, al
js 0x4c7bda
test ebp, 0x100000
je 0x4c7b43
mov ecx, dword [esp + 0x3b4]
mov ebx, dword [ecx + 0x28]
jmp 0x4c746b
test ebp, 1
je 0x4c7310
mov eax, dword [0x5ecbec]
lea edx, [esp + 0xc0]
mov dword [esp], edx
call dword [eax + 0x1e8]
mov edi, dword [esp + 0x3b8]
lea ecx, [esp + 0xc0]
mov ebx, dword [esp + 0x3b4]
mov dword [esp + 8], ecx
mov dword [esp], edi
mov dword [esp + 4], ebx
call fcn.00517eb0
mov edi, eax
jmp 0x4c7310
mov edx, dword [esp + 0x3b4]
mov ebx, dword [edx + 4]
jmp 0x4c746b
test ebp, 0x4000
jne 0x4c7c16
test ebp, 0x400000
je 0x4c7310
mov edi, dword [esp + 0x3b4]
mov eax, dword [edi + 0x18]
mov dword [esp + 4], eax
mov dword [esp], 0x5a86a0
call fcn.005106b0
jmp 0x4c7657
mov ecx, ebp
test cl, cl
js 0x4c7bb4
test ebp, 0x400
jne 0x4c7add
test ebp, 0x800
jne 0x4c79bd
test ebp, 0x1000
je 0x4c7310
mov ecx, dword [esp + 0x3b4]
mov ebx, dword [ecx + 0x30]
jmp 0x4c746b
test ebp, 8
jne 0x4c7c25
test ebp, 0x10
je 0x4c7310
mov edx, dword [esp + 0x3b4]
mov ebx, dword [edx + 0x14]
mov dword [esp + 4], ebx
mov dword [esp], 0x5a86c0
call fcn.005106b0
jmp 0x4c7657
test ebp, 1
je 0x4c7310
mov edi, dword [esp + 0x3b4]
mov ebx, dword [edi + 0x34]
jmp 0x4c746b
test ebp, 0x2000f
je 0x4c7310
mov edx, dword [esp + 0x3b4]
mov eax, dword [edx + 0x14]
jmp 0x4c75bf
mov eax, ebp
and eax, 0x8000
test ax, ax
je 0x4c7310
mov ebx, dword [esp + 0x3b4]
mov edi, dword [esp + 0x3b8]
mov eax, dword [ebx + 0x14]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.005162d0
mov edi, eax
jmp 0x4c7310
test ebp, 1
mov ebx, dword [esp + 0x34]
jne 0x4c746b
jmp 0x4c7310
test ebp, 1
je 0x4c7310
mov ecx, dword [esp + 0x34]
mov dword [esp], ecx
call fcn.004c4210
test eax, eax
je 0x4c7310
mov edi, eax
jmp 0x4c7310
mov edi, dword [esp + 0x3b4]
mov ebx, dword [edi]
jmp 0x4c746b
test ebp, 0x2000f
je 0x4c7310
mov ecx, dword [esp + 0x3b4]
mov eax, dword [ecx + 0x18]
jmp 0x4c75bf
test ebp, 2
jmp 0x4c7855
test ebp, 0x20007
jne 0x4c7a02
test ebp, 8
jne 0x4c7b34
mov eax, ebp
and eax, 0x8000
test ax, ax
je 0x4c7310
mov edx, dword [esp + 0x3b4]
mov ebx, dword [edx + 0x18]
jmp 0x4c746b
test ebp, 0x20007
jne 0x4c7bf8
test ebp, 8
je 0x4c7b79
mov edx, dword [esp + 0x3b4]
mov ebx, dword [edx + 0x40]
jmp 0x4c746b
mov dword [esp], esi
call sub.msvcrt.dll_strlen
mov dword [esp + 4], esi
mov ebx, eax
mov eax, 0x20000
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x38]
add esi, ebx
mov dword [esp + 8], ebx
mov dword [esp], eax
mov eax, dword [0x5ecbec]
call dword [eax + 0x494]
mov ebp, eax
jmp 0x4c6fb8
mov edx, dword [esp + 0x3b4]
mov ebx, dword [edx + 0x24]
jmp 0x4c746b
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x3b8]
mov edx, dword [esp + 0x3b4]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov eax, dword [ebx + 0xc]
mov dword [esp], eax
call dword [ebx + 4]
mov ebp, eax
jmp 0x4c6f91
mov edi, dword [esp + 0x3b4]
mov ebx, dword [edi + 0x1c]
jmp 0x4c746b
mov eax, dword [esp + 0x3b4]
mov ebx, dword [eax + 0x20]
jmp 0x4c746b
mov edi, dword [esp + 0x3b0]
lea eax, [ecx + ecx*2]
shl eax, 5
add eax, edi
mov dword [esp + 0x54], eax
cmp dword [eax], 3
jne 0x4c6ab8
cmp dword [eax + 0x34], ebx
jne 0x4c6ab8
test ecx, ecx
mov edx, 0x1d
jle 0x4c7a51
lea edx, [ecx - 1]
mov esi, dword [esp + 0x3b0]
lea eax, [edx + edx*2]
shl eax, 5
add eax, esi
mov dword [esp + 0x54], eax
cmp dword [eax], 2
jne 0x4c6ab8
cmp dword [eax + 0x34], ebx
jne 0x4c6ab8
lea eax, [ecx + ecx*2]
mov ecx, dword [esp + 0x3b0]
shl eax, 5
mov dword [eax + ecx], 0xffffffff
mov dword [ecx + 0xbb8], edx
mov ecx, edx
jmp 0x4c6ad5
test ebp, 0x100000
je 0x4c7310
mov ebx, dword [esp + 0x3b4]
mov edi, 0x5d117f
test byte [ebx + 0x34], 0x40
je 0x4c7310
mov eax, dword [ebx + 0x30]
mov dword [esp], 0x5a8ae0
mov dword [esp + 4], eax
call fcn.005106b0
jmp 0x4c7657
test ebp, 0x100000
je 0x4c7310
mov eax, dword [esp + 0x3b4]
mov ebx, dword [eax + 0x18]
jmp 0x4c746b
mov eax, dword [ebx + 0xc]
mov dword [esp], eax
call dword [ebx + 8]
jmp 0x4c6fad
test ebp, 0x3080
jne 0x4c7a02
test ebp, 0x800
jne 0x4c7a11
test ebp, 8
jne 0x4c79bd
mov ecx, ebp
test cl, cl
js 0x4c7a02
test ebp, 0x100000
je 0x4c7310
mov eax, dword [esp + 0x3b4]
mov ebx, dword [eax + 0x1c]
jmp 0x4c746b
test ebp, 0x1000
je 0x4c7310
mov edi, dword [esp + 0x3b4]
mov ebx, dword [edi + 0x28]
jmp 0x4c746b
test ebp, 0x20
je 0x4c7c69
mov edi, dword [esp + 0x3b4]
mov ebx, dword [edi + 0x14]
jmp 0x4c746b
mov eax, ebp
and eax, 0x8000
test ax, ax
jne 0x4c7cb9
test ebp, 0x40
je 0x4c7310
mov ebx, dword [esp + 0x3b4]
mov eax, dword [ebx + 0x14]
mov dword [esp], 0x5a8680
mov dword [esp + 4], eax
call fcn.005106b0
jmp 0x4c7657
mov edi, dword [esp + 0x3b4]
mov ebx, dword [edi + 0x2c]
jmp 0x4c746b
mov edx, dword [esp + 0x3b8]
mov eax, dword [edx + 8]
cmp eax, edi
jne 0x4c6e9c
jmp 0x4c6ebd
mov edx, dword [esp + 0x3b4]
mov ebx, dword [edx + 0x28]
jmp 0x4c746b
mov edx, dword [esp + 0x3b4]
mov ebx, dword [edx + 0x20]
jmp 0x4c746b
mov eax, dword [esp + 0x3b4]
mov ebx, dword [eax + 0x30]
jmp 0x4c746b
mov ebx, dword [esp + 0x3b4]
mov eax, dword [ebx + 0x14]
jmp 0x4c75bf
mov ebx, dword [esp + 0x3b4]
mov eax, dword [ebx + 0x18]
jmp 0x4c77c6
mov eax, dword [esp + 0x3b4]
mov ebx, dword [eax + 0x30]
jmp 0x4c783a
mov ecx, dword [esp + 0x3b4]
mov ebx, dword [ecx + 0x34]
jmp 0x4c7647
mov edi, dword [esp + 0x3b4]
mov eax, dword [edi + 0x14]
jmp 0x4c75bf
test ebp, 0x100000
jne 0x4c766a
test ebp, 0x200000
jmp 0x4c794b
test ebp, 0x3080
jne 0x4c7add
test ebp, 0x800
je 0x4c7cd8
mov edx, dword [esp + 0x3b4]
mov ebx, dword [edx + 0x1c]
jmp 0x4c746b
mov eax, dword [esp + 0x48]
cmp dword [ebx + 4], eax
jne 0x4c7099
jmp 0x4c70b9
test ebp, 0x200000
je 0x4c7310
mov eax, dword [esp + 0x3b4]
mov ebx, dword [eax + 0x14]
jmp 0x4c746b
mov ecx, dword [esp + 0x3b4]
mov eax, dword [ecx + 0x1c]
mov dword [esp], 0x5a8aac
mov dword [esp + 4], eax
call fcn.005106b0
jmp 0x4c7657
mov ecx, ebp
test cl, cl
jns 0x4c7ad1
mov edi, dword [esp + 0x3b4]
mov ebx, dword [edi + 0x18]
jmp 0x4c746b