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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
mov eax, dword [ebp + 0x10]
push ebx
push esi
mov esi, dword [ebp + 8]
mov ecx, dword [esi]
xor edx, edx
push edi
mov edi, dword [esi + 0xc]
cmp edi, edx
mov dword [esp + 0x14], edi
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x10], ecx
jne 0x4281e1
xor eax, eax
jmp 0x428903
mov ebx, dword [ebp + 0xc]
cmp ebx, edx
je 0x4285fc
movzx eax, byte [ebx]
cmp eax, 0x62
mov dword [esp + 0xc], eax
jg 0x428607
je 0x4285fc
cmp eax, 0x47
jg 0x428439
je 0x42836d
cmp eax, 0x38
jg 0x42829d
je 0x428249
sub eax, 0x13
je 0x4285d1
dec eax
je 0x428a69
sub eax, 4
jne 0x4282bd
push dword [ebp + 0x10]
push dword [ebx + 8]
push esi
call fcn.004281a6
add esp, 0xc
jmp 0x428635
cmp dword [esi + 0x1a4], edx
jne 0x428263
push 0x447570
mov edi, esi
call fcn.00411ecc
pop ecx
jmp 0x4281da
cmp byte [ebx + 1], 2
jne 0x428270
mov ecx, esi
call fcn.0042dd5f
mov al, byte [ebx + 1]
cmp al, 4
jne 0x428288
xor eax, eax
push eax
push dword [ebx + 4]
push eax
push 4
push eax
push 6
jmp 0x4285c3
push 0
push dword [ebx + 4]
movsx eax, al
push eax
mov eax, esi
call fcn.0042dd73
jmp 0x428692
cmp eax, 0x3c
je 0x428348
cmp eax, 0x43
jle 0x4282bd
cmp eax, 0x45
jle 0x428571
cmp eax, 0x46
je 0x428708
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax]
and dword [esp + 0x1c], edx
mov dword [esp + 0x10], eax
mov eax, edi
mov dword [esp + 0xc], ecx
call fcn.0041e94b
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 8]
test eax, eax
mov dword [esp + 0x18], eax
je 0x428327
push 0xc
pop ecx
mov esi, eax
push eax
push dword [ebp + 8]
lea edi, [esp + 0x40]
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x34]
call fcn.00428b94
and dword [esp + 0x34], 0
mov esi, dword [ebp + 8]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x40]
mov dword [esp + 0x78], eax
pop ecx
lea eax, [esp + 0x6c]
pop ecx
mov byte [esp + 0x38], 0x84
mov byte [esp + 0x68], 0x4c
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x428af4
mov ecx, dword [esp + 0xc]
dec eax
shr eax, 1
inc eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
jmp 0x428a7e
mov eax, dword [ebx + 0x28]
mov eax, dword [eax + 8]
movsx ecx, word [ebx + 0x1c]
push dword [ebp + 0x10]
inc eax
imul eax, dword [ebx + 0x18]
lea eax, [eax + ecx + 1]
push eax
push 0x6d
mov eax, edi
call fcn.0041e8d3
jmp 0x428692
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0x10]
mov ebx, dword [ecx + 0xc]
mov ecx, dword [ebx]
push eax
push esi
lea edi, [esp + 0x34]
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], ecx
call fcn.00428b94
push dword [esp + 0x20]
lea edi, [esp + 0x40]
push esi
mov dword [esp + 0x30], eax
call fcn.00428b94
mov edx, eax
mov eax, esi
call fcn.00429698
mov dword [esp + 0x20], eax
mov eax, esi
call fcn.00429698
push 0x10
push dword [esp + 0x24]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x30]
push edx
push dword [esp + 0x3c]
mov edi, esi
push 0x50
push dword [esp + 0x30]
call fcn.00426826
mov edx, dword [esp + 0x5c]
mov ebx, dword [ebx + 0x14]
mov eax, esi
call fcn.004296b3
push ebx
push esi
lea edi, [esp + 0x64]
call fcn.00428b94
push 0x10
push dword [esp + 0x50]
mov edi, esi
push eax
push dword [esp + 0x5c]
mov eax, ebx
push 0x4e
push dword [esp + 0x50]
call fcn.00426826
mov eax, dword [esp + 0x5c]
add esp, 0x48
push dword [ebp + 0x10]
push dword [esp + 0x20]
push dword [esp + 0x18]
push 0x45
call fcn.0041e855
mov edx, dword [esp + 0x20]
add esp, 0x10
mov eax, esi
call fcn.004296b3
mov edx, dword [esp + 0x1c]
call fcn.004296b3
jmp 0x4288eb
cmp eax, 0x5b
jg 0x4285ac
cmp eax, 0x52
jge 0x428571
cmp eax, 0x48
je 0x4284fb
jle 0x4282bd
cmp eax, 0x4a
jle 0x4284a9
cmp eax, 0x50
jg 0x4282bd
push dword [ebx + 8]
lea edi, [esp + 0x30]
push esi
call fcn.00428b94
push dword [ebx + 0xc]
lea edi, [esp + 0x40]
push esi
mov dword [esp + 0x30], eax
call fcn.00428b94
push 0x10
push dword [ebp + 0x10]
push eax
push dword [esp + 0x3c]
push dword [esp + 0x2c]
push dword [ebx + 8]
mov eax, dword [ebx + 0xc]
mov edi, esi
call fcn.00426826
add esp, 0x28
jmp 0x4288eb
push 0
push dword [ebp + 0x10]
mov eax, edi
push 1
push 7
call fcn.0041e855
push dword [ebx + 8]
lea edi, [esp + 0x40]
push esi
call fcn.00428b94
push eax
push dword [esp + 0x28]
mov eax, dword [esp + 0x34]
call fcn.0041e8be
push 0
push 0xffffffffffffffff
push dword [ebp + 0x10]
mov edi, eax
mov eax, dword [esp + 0x40]
push 0x14
call fcn.0041e855
mov edx, dword [esp + 0x44]
add esp, 0x30
mov eax, edi
call fcn.0041eafd
jmp 0x4288eb
mov eax, edi
call fcn.0041e94b
mov dword [esp + 0x18], eax
mov eax, edi
call fcn.0041e94b
push 0
push dword [ebp + 0x10]
mov dword [esp + 0x18], eax
push 0
push 0xa
mov eax, edi
call fcn.0041e855
push dword [esp + 0x20]
mov eax, ebx
push dword [esp + 0x2c]
push esi
call fcn.00427ceb
add esp, 0x1c
xor ebx, ebx
push ebx
push dword [ebp + 0x10]
mov eax, edi
push 1
push 7
call fcn.0041e855
mov edx, dword [esp + 0x28]
mov ecx, edi
call fcn.0041e998
push ebx
push ebx
push dword [ebp + 0x10]
mov eax, edi
push 0x14
call fcn.0041e855
mov edx, dword [esp + 0x30]
add esp, 0x20
mov ecx, edi
call fcn.0041e998
jmp 0x4288eb
push dword [ebx + 8]
lea edi, [esp + 0x30]
push esi
call fcn.00428b94
push dword [ebx + 0xc]
lea edi, [esp + 0x40]
push esi
mov dword [esp + 0x30], eax
call fcn.00428b94
push dword [ebp + 0x10]
push dword [esp + 0x34]
push eax
push dword [esp + 0x28]
mov eax, dword [esp + 0x34]
call fcn.0041e855
add esp, 0x20
jmp 0x4288eb
sub eax, 0x5d
je 0x4285d1
dec eax
jne 0x4282bd
push eax
push dword [ebx + 4]
push eax
push dword [ebp + 0x10]
push eax
push 0x5e
push edi
call fcn.0041e8ea
add esp, 0x1c
jmp 0x4288eb
push dword [ebx + 8]
lea edi, [esp + 0x30]
push esi
call fcn.00428b94
mov ecx, dword [ebp + 0x10]
push ecx
push eax
push dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x44], ecx
call fcn.0041e8d3
add esp, 0x14
jmp 0x4288eb
push 0
push dword [ebp + 0x10]
push 0
push 0xa
jmp 0x42864e
add eax, 0xffffff8c
cmp eax, 0x29
ja 0x4282bd
movzx eax, byte [eax + 0x427f6a]
jmp dword [eax*4 + 0x427f36]
mov dword [esp + 0x30], eax
jmp 0x4288eb
mov eax, edi
call fcn.0041e855
add esp, 0x10
jmp 0x4288eb
add esp, 0xc
jmp 0x4288eb
push dword [ebx + 8]
lea edi, [esp + 0x30]
push esi
call fcn.00428b94
push dword [ebx + 0xc]
lea edi, [esp + 0x40]
push esi
mov dword [esp + 0x30], eax
call fcn.00428b94
push 0x90
push dword [ebp + 0x10]
push eax
push dword [esp + 0x3c]
xor eax, eax
cmp dword [esp + 0x2c], 0x46
sete al
add eax, 0x4b
push eax
jmp 0x428494
mov edx, dword [esp + 0x2c]
mov eax, esi
call fcn.004296b3
mov edx, dword [esp + 0x34]
call fcn.004296b3
mov eax, dword [esp + 0x30]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push 0
push ebx
mov ebx, esi
call fcn.004279a2
jmp 0x428241
mov ecx, dword [esp + 0x10]
inc dword [esi + 0x54]
cmp dword [esp + 0x18], 0
mov eax, dword [ecx]
je 0x428a90
mov dword [esp + 0x74], eax
jmp 0x428a94
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
call fcn.0041e94b
push 8
push eax
push dword [esp + 0x24]
mov dword [esp + 0x34], eax
push esi
call fcn.00429032
mov eax, dword [esp + 0x20]
mov edi, dword [ebp + 0x10]
mov eax, dword [eax + 0x14]
mov ecx, esi
call fcn.00428bcf
mov eax, dword [esp + 0x24]
push 0
push dword [esp + 0x38]
push 0
push 1
call fcn.0041e855
add esp, 0x20
mov eax, esi
call fcn.0042803f
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
call fcn.0041e998
add dword [esp + 0x10], 0x28
dec dword [esp + 0xc]
jne 0x428a7a
xor eax, eax
cmp dword [ebx + 0xc], eax
je 0x428b14
inc dword [esi + 0x54]
mov edi, dword [ebp + 0x10]
mov eax, dword [ebx + 0xc]
mov ecx, esi
call fcn.00428bcf
mov eax, esi
call fcn.0042803f
jmp 0x428b27
push eax
push dword [ebp + 0x10]
push eax
mov eax, dword [esp + 0x20]
push 0xa
call fcn.0041e855
add esp, 0x10
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
jmp 0x428567