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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
mov ecx, dword [ebp + 0x10]
push ebx
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi + 8]
xor edx, edx
cmp eax, edx
mov dword [esp + 0x20], ecx
mov ecx, dword [esi]
push edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ecx
jne 0x427f12
xor eax, eax
jmp 0x4287d3
mov edi, dword [ebp + 0xc]
cmp edi, edx
mov eax, 0x9a
jne 0x427f26
push 0x65
pop ebx
jmp 0x428208
movzx ebx, byte [edi]
cmp ebx, 0x61
jg 0x4281fa
je 0x4281dc
cmp ebx, 0x4a
jg 0x4280b6
je 0x427fef
cmp ebx, 0x13
je 0x4281b5
cmp ebx, 0x18
je 0x427fdb
cmp ebx, 0x3e
je 0x427fb9
cmp ebx, 0x46
jle 0x428562
cmp ebx, 0x48
jle 0x428173
cmp ebx, 0x49
jne 0x428562
push dword [edi + 0xc]
lea eax, [esp + 0x30]
mov ecx, esi
call fcn.0042882e
pop ecx
push dword [edi + 0x10]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x34]
mov ecx, esi
call fcn.0042882e
pop ecx
push 0xa0
push dword [ebp + 0x10]
push eax
push dword [esp + 0x20]
xor eax, eax
cmp ebx, 0x49
sete al
add eax, 0x4e
push eax
jmp 0x42810c
mov eax, dword [edi + 0x2c]
movsx eax, word [eax + 0x1e]
movsx ecx, word [edi + 0x20]
push dword [ebp + 0x10]
inc eax
imul eax, dword [edi + 0x1c]
lea eax, [eax + ecx + 1]
push eax
push 0x86
jmp 0x4281ce
push dword [ebp + 0x10]
push dword [edi + 0xc]
push esi
call fcn.00427ed7
add esp, 0xc
jmp 0x4287b7
mov eax, dword [edi + 0x14]
mov ebx, dword [edi + 0xc]
mov edi, dword [eax + 4]
mov eax, dword [edi]
mov dword [esp + 0x20], eax
push ebx
lea eax, [esp + 0x30]
mov ecx, esi
call fcn.0042882e
pop ecx
push dword [esp + 0x20]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x34]
mov ecx, esi
call fcn.0042882e
mov edx, eax
pop ecx
mov eax, esi
call fcn.004294f8
mov dword [esp + 0x18], eax
mov eax, esi
call fcn.004294f8
push 0x20
push dword [esp + 0x1c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x28]
push edx
push dword [esp + 0x20]
mov ecx, esi
push 0x53
push ebx
call fcn.00426db7
mov edx, dword [esp + 0x48]
mov edi, dword [edi + 0x18]
mov eax, esi
call fcn.00429513
push edi
lea eax, [esp + 0x4c]
mov ecx, esi
call fcn.0042882e
add esp, 0x1c
push 0x20
push dword [esp + 0x20]
mov ecx, esi
push eax
push dword [esp + 0x20]
mov eax, edi
push 0x51
push ebx
call fcn.00426db7
push dword [ebp + 0x10]
mov eax, dword [esp + 0x2c]
push dword [esp + 0x38]
push dword [esp + 0x38]
push 0x48
call fcn.0041d285
mov edx, dword [esp + 0x40]
add esp, 0x28
mov eax, esi
call fcn.00429513
mov edx, dword [esp + 0x1c]
call fcn.00429513
jmp 0x4287bb
cmp ebx, 0x5e
jg 0x4281a3
cmp ebx, 0x55
jge 0x428173
cmp ebx, 0x4c
jl 0x428562
cmp ebx, 0x4d
jle 0x42811e
cmp ebx, 0x53
jg 0x428562
push dword [edi + 0xc]
lea eax, [esp + 0x30]
mov ecx, esi
call fcn.0042882e
pop ecx
push dword [edi + 0x10]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x34]
mov ecx, esi
call fcn.0042882e
pop ecx
push 0x20
push dword [ebp + 0x10]
push eax
push dword [esp + 0x20]
push ebx
push dword [edi + 0xc]
mov eax, dword [edi + 0x10]
mov ecx, esi
call fcn.00426db7
jmp 0x4281f2
mov eax, dword [esp + 0x10]
push 0
push dword [ebp + 0x10]
push 1
push 0x17
call fcn.0041d285
push dword [edi + 0xc]
lea eax, [esp + 0x40]
mov ecx, esi
call fcn.0042882e
add esp, 0x14
push eax
mov eax, dword [esp + 0x14]
push ebx
call fcn.0041d2f2
push 0
push dword [ebp + 0x10]
mov edi, eax
mov eax, dword [esp + 0x20]
push 0
push 0x17
call fcn.0041d285
mov ecx, dword [esp + 0x28]
add esp, 0x18
mov eax, edi
call fcn.0041d529
jmp 0x4287bb
push dword [edi + 0xc]
lea eax, [esp + 0x30]
mov ecx, esi
call fcn.0042882e
pop ecx
push dword [edi + 0x10]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x34]
mov ecx, esi
call fcn.0042882e
pop ecx
push dword [ebp + 0x10]
push dword [esp + 0x18]
push eax
push ebx
jmp 0x42874b
mov eax, ebx
sub eax, 0x5f
je 0x427fdb
dec eax
jne 0x428562
push dword [edi + 0xc]
lea eax, [esp + 0x30]
mov ecx, esi
call fcn.0042882e
pop ecx
mov ecx, dword [ebp + 0x10]
push ecx
push eax
mov dword [esp + 0x2c], ecx
push ebx
mov eax, dword [esp + 0x1c]
call fcn.0041d309
jmp 0x428524
xor eax, eax
push eax
push dword [edi + 8]
push eax
push dword [ebp + 0x10]
push eax
mov eax, dword [esp + 0x24]
push 0x61
call fcn.0041d320
add esp, 0x18
jmp 0x4287bb
cmp ebx, eax
jg 0x42853a
je 0x428759
mov eax, ebx
sub eax, 0x65
je 0x42852c
sub eax, 0x1f
je 0x428517
sub eax, 3
je 0x4284d3
sub eax, 0xd
je 0x427f79
sub eax, 5
jne 0x428562
test word [edi + 4], 0x4000
mov al, byte [ecx + 0x3e]
mov dword [esp + 0x18], edx
mov byte [esp + 0x1c], al
mov dword [esp + 0x20], edx
je 0x42833a
xor ebx, ebx
mov dword [esp + 0x28], edx
mov edi, dword [edi + 8]
push edi
call fcn.00410b56
pop ecx
push 0
push dword [esp + 0x20]
mov dword [esp + 0x1c], eax
push dword [esp + 0x30]
push edi
push dword [esp + 0x44]
call fcn.0042d075
add esp, 0x14
test eax, eax
mov dword [esp + 0x1c], eax
je 0x4284c0
mov edx, eax
cmp dword [edx + 0xc], 0
je 0x4284c0
movzx eax, word [edx + 2]
test ax, 0x200
je 0x428350
mov eax, dword [esp + 0x10]
call fcn.0041d3b8
push dword [ebp + 0x10]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 4]
push dword [eax]
push esi
call fcn.004288e9
mov eax, dword [esp + 0x34]
add esp, 0xc
cmp eax, 1
jle 0x428325
dec eax
mov dword [esp + 0x18], 0x18
mov dword [esp + 0x20], eax
push dword [esp + 0x1c]
mov esi, dword [ebp + 0x10]
mov eax, dword [esp + 0x14]
push esi
push 0x4d
call fcn.0041d309
mov edi, dword [ebp + 8]
xor ecx, ecx
add esp, 0xc
inc ecx
mov eax, edi
call fcn.00427d39
inc dword [edi + 0x64]
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
push esi
push dword [eax + ecx]
push edi
call fcn.004288e9
add esp, 0xc
mov eax, edi
call fcn.00427d62
add dword [esp + 0x18], 0x18
dec dword [esp + 0x20]
jne 0x4282d7
mov esi, eax
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
call fcn.0041d3fb
add esp, 4
jmp 0x4287bb
mov ebx, dword [edi + 0x14]
cmp ebx, edx
je 0x428254
mov eax, dword [ebx]
mov dword [esp + 0x28], eax
jmp 0x428258
test ax, 0x400
je 0x428363
push dword [ebp + 0x10]
mov eax, dword [ebx + 4]
push dword [eax]
jmp 0x427fe1
mov ecx, dword [esp + 0x28]
and dword [esp + 0x14], 0
test ecx, ecx
jle 0x4283cd
xor edi, edi
cmp dword [esp + 0x14], 0x20
jge 0x428396
mov eax, dword [ebx + 4]
push dword [eax + edi]
call fcn.00427a59
test eax, eax
pop ecx
je 0x428396
mov ecx, dword [esp + 0x14]
xor eax, eax
inc eax
shl eax, cl
or dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
test byte [eax + 2], 0x20
je 0x4283b8
cmp dword [esp + 0x20], 0
jne 0x4283b8
mov eax, dword [ebx + 4]
mov ecx, dword [eax + edi]
push esi
call fcn.00426bc8
pop ecx
mov dword [esp + 0x20], eax
inc dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
add edi, 0x18
cmp dword [esp + 0x14], ecx
jl 0x428372
mov edx, dword [esp + 0x1c]
test ebx, ebx
je 0x428439
cmp dword [esp + 0x18], 0
je 0x4283e9
mov eax, dword [esi + 0x48]
lea edi, [eax + 1]
add eax, ecx
mov dword [esp + 0x14], edi
mov dword [esi + 0x48], eax
jmp 0x4283fd
mov esi, ecx
mov ecx, dword [ebp + 8]
call fcn.00429547
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
mov esi, ecx
test byte [edx + 2], 0xc0
je 0x42841d
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov cl, byte [eax]
cmp cl, 0x9a
je 0x428414
cmp cl, 0x9c
jne 0x42841d
mov cl, byte [edx + 2]
and cl, 0xc0
mov byte [eax + 0x26], cl
push dword [esp + 0x14]
inc dword [esi + 0x64]
push esi
mov cl, 3
mov eax, ebx
call fcn.0042893e
pop ecx
pop ecx
mov eax, esi
call fcn.00427d62
jmp 0x42843e
and dword [esp + 0x14], 0
mov edi, dword [esp + 0x1c]
test byte [edi + 2], 0x20
je 0x42846d
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp eax, ecx
jne 0x428459
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 8]
push 0xfffffffffffffffc
push eax
mov eax, dword [esp + 0x18]
push ecx
push ecx
push ecx
push 0x22
call fcn.0041d320
add esp, 0x18
mov eax, dword [esp + 0x10]
push 0xfffffffffffffffb
push edi
push dword [ebp + 0x10]
push dword [esp + 0x20]
push dword [esp + 0x28]
push 0x23
call fcn.0041d320
mov dl, byte [esp + 0x40]
mov ecx, dword [esp + 0x28]
add esp, 0x18
call fcn.0041d517
cmp dword [esp + 0x28], 0
je 0x4287bb
cmp dword [esp + 0x18], 0
jne 0x4287bb
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov eax, esi
call fcn.0042956b
jmp 0x4287bb
push edi
push dword [esp + 0x18]
mov edi, esi
push str.unknown_function:__.s__
call fcn.00410be8
jmp 0x428524
movsx eax, word [edi + 0x20]
push dword [ebp + 0x10]
push eax
mov eax, dword [esp + 0x18]
push 0x1d
call fcn.0041d309
mov eax, dword [edi + 8]
add esp, 0xc
cmp byte [eax + 1], 0
je 0x4287bb
movsx eax, word [edi + 0x20]
mov ecx, dword [esi + 0x1c0]
mov ebx, dword [esp + 0x10]
push 0xfffffffffffffffe
push dword [ecx + eax*4 - 4]
or eax, 0xffffffff
call fcn.0041d6a6
jmp 0x4287a5
push dword [ebp + 0x10]
mov eax, edi
push 0
push esi
call fcn.00427bd6
add esp, 0xc
jmp 0x4287bb
push 0
push dword [ebp + 0x10]
push 0
push 0x1a
jmp 0x42874b
sub ebx, 0x9b
je 0x42878f
dec ebx
je 0x428725
dec ebx
je 0x4286bf
dec ebx
je 0x427fdb
dec ebx
je 0x4286b7
mov ebx, dword [edi + 0x14]
mov eax, dword [ebx + 4]
and dword [esp + 0x18], edx
mov dword [esp + 0x34], eax
mov eax, dword [ebx]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
call fcn.0041d3b8
mov edi, dword [edi + 0xc]
test edi, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], edi
je 0x4285e0
push 0xc
mov esi, edi
pop ecx
push dword [esp + 0x20]
lea edi, [esp + 0x3c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x30]
call fcn.0042882e
and dword [esp + 0x40], 0xffffefff
and dword [esp + 0x30], 0
mov esi, dword [ebp + 8]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x3c]
pop ecx
mov cl, byte [esp + 0x38]
mov dword [esp + 0x74], eax
lea eax, [esp + 0x68]
mov byte [esp + 0x5e], cl
mov byte [esp + 0x38], 0x9f
mov byte [esp + 0x68], 0x4f
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
lea ecx, [eax - 1]
test ecx, ecx
jle 0x428673
mov edi, dword [esp + 0x34]
lea eax, [ecx - 1]
shr eax, 1
inc eax
mov dword [esp + 0x34], eax
inc dword [esi + 0x64]
cmp dword [esp + 0x20], 0
mov eax, dword [edi]
je 0x42860f
mov dword [esp + 0x78], eax
jmp 0x428613
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
call fcn.0041d3b8
push 0x10
push eax
push dword [esp + 0x20]
mov dword [esp + 0x20], eax
push esi
call fcn.00428d00
push dword [ebp + 0x10]
push dword [edi + 0x18]
push esi
call fcn.004288e9
mov eax, dword [esp + 0x2c]
add esp, 0x1c
push 0
push dword [esp + 0x2c]
push 0
push 0xe
call fcn.0041d285
mov eax, esi
call fcn.00427d62
push dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
call fcn.0041d3fb
add esp, 0x14
add edi, 0x30
dec dword [esp + 0x34]
jne 0x4285fd
mov eax, dword [esp + 0x1c]
test al, 1
je 0x428699
inc dword [esi + 0x64]
imul eax, eax, 0x18
push dword [ebp + 0x10]
mov ecx, dword [ebx + 4]
push dword [eax + ecx - 0x18]
push esi
call fcn.004288e9
add esp, 0xc
mov eax, esi
call fcn.00427d62
jmp 0x4286ae
mov eax, dword [esp + 0x10]
push 0
push dword [ebp + 0x10]
push 0
push 0x1a
call fcn.0041d285
add esp, 0x10
push dword [esp + 0x28]
jmp 0x428329
mov eax, dword [edi + 0x1c]
jmp 0x4287b7
mov eax, dword [edi + 0xc]
cmp byte [eax], 0x84
jne 0x4286d7
push dword [ebp + 0x10]
push 1
push esi
call fcn.00427bd6
add esp, 0xc
jmp 0x42871d
and dword [esp + 0x40], edx
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x30]
mov ecx, esi
mov byte [esp + 0x3c], 0x84
mov dword [esp + 0x40], 0x4400
call fcn.0042882e
pop ecx
push dword [edi + 0xc]
mov ebx, eax
lea eax, [esp + 0x34]
mov ecx, esi
call fcn.0042882e
pop ecx
push dword [ebp + 0x10]
push ebx
push eax
mov eax, dword [esp + 0x1c]
push 0x5a
call fcn.0041d285
add esp, 0x10
mov eax, dword [ebp + 0x10]
jmp 0x4287b7
movsx eax, word [edi + 0x22]
mov ecx, dword [edi + 0x28]
imul eax, eax, 0x18
add eax, dword [ecx + 0x1c]
cmp byte [ecx], dl
jne 0x42873b
mov eax, dword [eax + 0x10]
jmp 0x4287b7
cmp byte [ecx + 1], dl
je 0x428759
push dword [ebp + 0x10]
push dword [eax + 0xc]
push dword [ecx + 8]
push 0x2f
mov eax, dword [esp + 0x20]
call fcn.0041d285
add esp, 0x10
jmp 0x4287bb
mov eax, dword [edi + 0x1c]
cmp eax, edx
jge 0x428772
mov ecx, dword [esi + 0x5c]
cmp ecx, edx
jle 0x42876f
movsx eax, word [edi + 0x20]
add eax, ecx
jmp 0x4287b7
mov eax, dword [esi + 0x60]
movzx ecx, byte [edi + 0x26]
push ecx
push dword [ebp + 0x10]
push eax
movsx eax, word [edi + 0x20]
push eax
push dword [edi + 0x2c]
mov eax, esi
call fcn.00427e00
add esp, 0x14
jmp 0x4287b7
mov eax, dword [edi + 0x28]
cmp eax, edx
jne 0x4287a9
push dword [edi + 8]
mov edi, esi
push str.misuse_of_aggregate:__s__
call fcn.00410be8
pop ecx
pop ecx
jmp 0x4287bb
movsx ecx, word [edi + 0x22]
mov eax, dword [eax + 0x28]
shl ecx, 4
mov eax, dword [ecx + eax + 8]
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x2c]
mov eax, esi
call fcn.00429513
mov edx, dword [esp + 0x30]
call fcn.00429513
mov eax, dword [esp + 0x24]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret