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

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
add byte [eax], al
mov eax, dword [esi + 8]
sub eax, dword [ebp - 0x45]
add byte [ebx], dh
leave
xor edi, edi
cmp dword [ebp + 0x24], eax
add byte [eax], al
mov dword [ebp + 0x24], eax
cmp dword [ebp + 0x57], ecx
add byte [ebx], al
mov dword [ebp + 0x24], ecx
mov eax, dword [esi + 0xc]
add byte [eax], al
and byte [ecx], bh
inc ebp
sub byte [esi + 0x45], bh
add byte [ebp + 0x28], al
cmp dword [ebp + 0x28], ecx
jge 0x402cb7
add byte [eax], al
sub byte [ecx], bh
dec ebp
and al, 0x74
imul eax, dword [eax], 0x4d
sub byte [ebp + ebx*2 + 0x53], dh
cmp dword [ebp + 0x24], ecx
je 0x402d27
add byte [ebp + 0x28], cl
je 0x402d1e
push ebx
push dword [ebp]
add byte [fcn.004970ec], dl
pop esi
add byte [ebx + ecx*4], al
xor eax, 0x4970e4
add byte [eax], al
push edi
call esi
mov ebx, eax
out dx, al
add byte [eax + ecx*4], ch
inc ebp
inc dh
inc ebp
cld
add byte [eax], al
inc ebp
std
add dh, al
inc ebp
salc
add bh, bh
jne 0x402cec
push dword [ebp + 0x28]
inc dword [eax]
add bh, bh
jne 0x402d19
push dword [ebp + 0x5b]
add bh, bh
jne 0x402d18
push dword [ebp + 0x14]
inc dword [eax]
add bh, bh
jne 0x402d15
push dword [ebp + 0x28]
add byte [0x49737c], dl
push ebx
push edi
add byte [eax], al
sub bh, bh
add byte [eax], ch
call esi
salc
xor ecx, ecx
inc byte [eax]
pop es
mov dword [ebp + 0x28], 1
add cl, bh
je 0x402d30
push edi
inc dword [esi]
add byte [eax + 0x49], dh
add byte [ebx + 0x5f2845], cl
add bl, al
push ebp
mov ebp, esp
add dword [edx], 0
sub esp, 0x180
mov eax, dword [eax]
add byte [ebx - 0x74a9fbb8], cl
and eax, dword [eax]
salc
mov dword [esp + 0x5c], esi
mov esi, dword [eax]
add byte [ebx + 8], al
sub eax, dword [ebx]
push edi
test eax, 0xf12b1000
mov dword [esp + 0x64], ecx
add byte [eax], al
mov edi, dword [edi + 8]
sub eax, edi
pop ds
add byte [eax + ebx], ah
mov edi, dword [ebp + 0x10]
mov edi, dword [edi]
add byte [esp + 0x10], ah
add byte [ebx + 0xc00f7], al
and dword [esp + 0x30], 0
add byte [eax], al
and al, 0x14
mov edi, dword [ebp + 0x10]
sub al, 0
or al, 0x89
jl 0x402db5
mov eax, dword [ebp + 0x28]
pop edi
add byte [eax], al
ret
or byte [ebx + 0x2b00007c], cl
je 0x402dbd
or byte [ebx], ch
movsb byte es:[edi], byte [esi]
add cl, dl
mov dword [esp + 0x20], edx
mov edx, dword [eax + eax]
sub esi, edx
mov dword [esp + 0x5a], esi
add byte [ebx + 0xc], dh
sub esi, dword [ebx + 4]
sub eax, ecx
add byte [eax], al
and al, 8
add byte [eax + ecx], ah
mov dword [esp + 0x51], eax
add dl, dh
add eax, ecx
add eax, ecx
mov dword [esp + 0x28], esi
add byte [eax], al
and al, 8
mov dword [esp - 0x1f], eax
add byte [esp + 0x24], dl
mov dword [esp + 0x2c], esi
add byte [eax], al
and al, 0x38
mov dword [esp + 0x34], ecx
add byte [esp + 0x48], bh
lea eax, [esp + 0x78]
add byte [eax], al
and al, 0x10
mov dword [esp + 0x1d], esi
add byte [esp + 0xc], dh
mov esi, dword [esp + esi*4 + 0x24]
add byte [eax], al
and al, 0x14
mov dword [esp + 0x7b], esi
add byte [eax - 0x10], bh
lea esi, [esp + 0x30]
movsd dword es:[edi], dword [esi]
add byte [eax], al
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x10]
test eax, 0x8b542400
je 0x402e36
adc al, 0x89
add byte [eax], al
pop esp
mov edi, eax
lea esi, [ecx + eax*4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp]
add byte [esp + 0x44], dh
mov esi, dword [edi + esi]
mov dword [esp + 0x4c], esi
lea edi, [eax + 0x10]
add byte [eax], al
and al, 0x40
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
inc ebx
add byte [esp + 0x14], dh
add dword [esp + 0x10], esi
add byte [eax], al
and al, 0xc
add eax, 0x30
nop
add byte [esp + ecx], ah
add edi, dword [edx + edx*4 - 0x77]
push esp
add byte [eax], al
mov edx, dword [esp + 0x1c]
mov dword [esi], esi
sub byte [ebx - 0x76f7dbac], cl
push esp
add byte [eax], al
mov edx, dword [esp + 0x20]
xor edx, dword [esi]
push esp
and al, 0x58
add edx, ecx
mov dword [eax + eax], ecx
mov dword [esp + 0x50], ecx
mov ebx, edi
add byte [eax], bl
mov dword [esp + 0x30], edx
mov dword [eax + eax], eax
mov dword [esp + 0x40], eax
mov ebx, ebp
add byte [eax], bh
lea edx, [esp + 0x108]
add byte [esp + 8], cl
mov ecx, dword [edi + edi*8]
mov dword [esp + 0x44], eax
mov dword [esp], ecx
add byte [edx - 0x10], bh
lea esi, [esp + 6]
add byte [ebp + 0x4489a5a5], ah
and al, 0x54
add byte [eax], al
and al, 0x5c
mov edi, edx
lea edi, [ebp]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [eax + eax], eax
mov dword [esp + 0x3c], ecx
invalid