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

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
mov esi, dword [esp + 0x28]
mov eax, esi
mov ebx, 0xff000000
and eax, ebx
xor edx, edx
mov ecx, 0xa000000
cmp eax, ecx
push edi
mov edi, dword [esp + 0x30]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov ebp, 0x447c50
je 0x42acd1
cmp eax, 0x6000000
jne 0x42ae36
cmp eax, ecx
mov eax, dword [0x4c5e7c]
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], edx
mov ecx, dword [eax]
jne 0x42acf2
push esi
push eax
call dword [ecx + 0xe4]
mov dword [esp + 0x14], eax
jmp 0x42acfc
lea edx, [esp + 0x14]
push edx
push esi
push eax
call dword [ecx + 0x60]
mov ecx, dword [0x4c35f8]
test ecx, ecx
je 0x42ad6a
test edi, edi
je 0x42ad37
push dword [0x4c35fc]
call fcn.0040eab0
mov dword [eax], edi
mov eax, dword [0x4c35fc]
mov ecx, dword [0x4c35f8]
inc dword [0x4c35fc]
push eax
call fcn.0040eab0
mov dword [eax + 4], esi
mov ecx, dword [0x4c35f8]
test ecx, ecx
je 0x42ad6a
test edi, edi
je 0x42ad6a
push dword [0x4c35fc]
call fcn.0040eab0
mov dword [eax], edi
mov eax, dword [0x4c35fc]
mov ecx, dword [0x4c35f8]
inc dword [0x4c35fc]
push eax
call fcn.0040eab0
mov ecx, dword [esp + 0x14]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x14]
mov eax, ecx
and eax, ebx
cmp eax, 0x2000000
jne 0x42ad91
mov eax, dword [0x4c5e7c]
mov edx, dword [eax]
lea esi, [esp + 0x18]
push esi
lea esi, [esp + 0x14]
push esi
push ecx
push eax
call dword [edx + 0x78]
jmp 0x42adb1
cmp eax, 0x1000000
jne 0x42adb1
mov eax, dword [0x4c5e7c]
mov edx, dword [eax]
lea esi, [esp + 0x10]
push esi
lea esi, [esp + 0x1c]
push esi
push ecx
push eax
call dword [edx + 0x90]
cmp dword [esp + 0x10], 0
je 0x42ae36
mov esi, dword [esp + 0x18]
test esi, esi
je 0x42ae36
push 0x13
mov edi, 0x409324
pop ecx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x42ae36
mov esi, dword [esp + 0x10]
push 0x14
mov edi, 0x409310
pop ecx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x42ae36
push eax
mov dword [esp + 0x20], 1
call fcn.00415a2e
push eax
push dword [esp + 0x40]
call fcn.0040cba4
mov esi, 0x4c3638
push esi
push 0x1a1
call fcn.0041f4d9
push eax
push 0x20000
push ebp
call dword [sym.imp.MSVCR80.dll_sprintf_s]
add esp, 0x10
push ebp
push dword [esp + 0x40]
call fcn.0040cba4
push 0x409308
push 0x400
push esi
call dword [sym.imp.MSVCR80.dll_strcat_s]
add esp, 0xc
push 0x4017f0
call fcn.004159a1
push eax
push 0x4c3638
push 0x402dac
push 0x20000
push ebp
call dword [sym.imp.MSVCR80.dll_sprintf_s]
mov esi, eax
add esp, 0x14
add esi, ebp
cmp byte [esp + 0x40], 0
mov edi, 0x467c50
je 0x42b010
cmp dword [0x4c35b4], 0
je 0x42aea4
cmp esi, edi
jb 0x42ae7f
xor ebx, ebx
jmp 0x42ae83
mov ebx, edi
sub ebx, esi
push dword [esp + 0x28]
push 0x4027fc
call fcn.00415a2e
push eax
push ebx
push esi
call dword [sym.imp.MSVCR80.dll_sprintf_s]
add esp, 0x10
add esi, eax
mov ebx, 0xff000000
cmp esi, edi
jb 0x42aeac
xor eax, eax
jmp 0x42aeb0
mov eax, edi
sub eax, esi
push 0x40348c
push eax
push esi
call dword [sym.imp.MSVCR80.dll_sprintf_s]
add esi, eax
mov eax, dword [esp + 0x3c]
and eax, ebx
add esp, 0xc
cmp eax, 0x1000000
je 0x42af97
cmp eax, 0x2000000
je 0x42af97
cmp eax, 0x6000000
je 0x42af75
cmp eax, 0xa000000
je 0x42af22
cmp eax, 0x1b000000
je 0x42af97
cmp esi, edi
jb 0x42af03
xor ebx, ebx
jmp 0x42af07
mov ebx, edi
sub ebx, esi
push 0x4092f8
call fcn.00415abd
push eax
push ebx
push ebp
call dword [sym.imp.MSVCR80.dll_strcat_s]
add esp, 0xc
jmp 0x42afad
mov eax, dword [0x4c5e7c]
mov ecx, dword [eax]
lea edx, [esp + 0x28]
push edx
lea edx, [esp + 0x44]
push edx
push dword [esp + 0x38]
push eax
call dword [ecx + 0xe0]
mov eax, dword [esp + 0x40]
mov al, byte [eax]
test al, al
js 0x42af51
inc dword [esp + 0x40]
movzx eax, al
jmp 0x42af5b
lea eax, [esp + 0x40]
push eax
call fcn.0040c970
and eax, 0xf
cmp al, 6
jne 0x42af75
cmp esi, edi
jb 0x42af6a
xor ebx, ebx
jmp 0x42af6e
mov ebx, edi
sub ebx, esi
push 0x402988
jmp 0x42af86
cmp esi, edi
jb 0x42af7d
xor ebx, ebx
jmp 0x42af81
mov ebx, edi
sub ebx, esi
push 0x402980
call fcn.004159a1
push eax
push ebx
push esi
call dword [sym.imp.MSVCR80.dll_sprintf_s]
add esp, 0xc
push 0
push dword [esp + 0x40]
push dword [0x4c5e7c]
push dword [esp + 0x3c]
push ebp
call fcn.0040ef1e
mov eax, ebp
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x42afb2
sub eax, ecx
cmp dword [0x4c35b4], 0
lea esi, [eax + 0x447c50]
je 0x42aff2
cmp esi, edi
jb 0x42afd2
xor ebx, ebx
jmp 0x42afd6
mov ebx, edi
sub ebx, esi
push dword [esp + 0x30]
push 0x4027fc
call fcn.00415a2e
push eax
push ebx
push esi
call dword [sym.imp.MSVCR80.dll_sprintf_s]
add esp, 0x10
add esi, eax
cmp esi, edi
jb 0x42affa
xor eax, eax
jmp 0x42affe
mov eax, edi
sub eax, esi
push 0x403264
push eax
push esi
call dword [sym.imp.MSVCR80.dll_sprintf_s]
add esp, 0xc
jmp 0x42b043
cmp dword [0x4c35b4], 0
je 0x42b043
cmp esi, edi
jb 0x42b021
xor ebx, ebx
jmp 0x42b025
mov ebx, edi
sub ebx, esi
push dword [esp + 0x2c]
push dword [esp + 0x2c]
push 0x4092e8
call fcn.00415a2e
push eax
push ebx
push esi
call dword [sym.imp.MSVCR80.dll_sprintf_s]
add esp, 0x14
mov eax, dword [esp + 0x20]
cmp eax, 0x1000000
je 0x42b07f
cmp eax, 0x2000000
je 0x42b07f
cmp eax, 0x6000000
je 0x42b07f
cmp eax, 0xa000000
je 0x42b07f
push 0x4092d4
call fcn.00415abd
push eax
push 0x20000
push ebp
call dword [sym.imp.MSVCR80.dll_strcat_s]
add esp, 0xc
jmp 0x42b095
push 0
push dword [esp + 0x40]
push dword [0x4c5e7c]
push dword [esp + 0x38]
push ebp
call fcn.0040ef1e
mov eax, ebp
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x42b09a
mov ebx, dword [esp + 0x34]
sub eax, ecx
test ebx, ebx
lea esi, [eax + 0x447c50]
je 0x42b101
cmp dword [esp + 0x38], 0
je 0x42b101
cmp dword [0x4c5eac], 0
je 0x42b0d8
push ebp
push dword [esp + 0x40]
push dword [esp + 0x40]
push ebx
push dword [esp + 0x3c]
call fcn.0042a92d
test eax, eax
jne 0x42b101
cmp esi, edi
jb 0x42b0e0
xor edi, edi
jmp 0x42b0e2
sub edi, esi
push 0x4092cc
push edi
push esi
call dword [sym.imp.MSVCR80.dll_sprintf_s]
add esp, 0xc
push dword [esp + 0x3c]
push dword [esp + 0x3c]
push ebx
push ebp
call fcn.0041fb3c
push ebp
push dword [esp + 0x40]
call fcn.0040cba4
cmp dword [esp + 0x1c], 0
pop edi
pop esi
pop ebp
pop ebx
je 0x42b13e
mov eax, 0x4c3638
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x42b11e
sub eax, ecx
push 0xffffffffffffffff
mov byte [eax + 0x4c3634], dl
call fcn.00415a2e
push eax
push dword [esp + 0x30]
call fcn.0040cba4
add esp, 0x14
ret 0x1c