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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
push edi
push 1
mov edi, ecx
mov dword [ebp - 0x5c], ebx
push dword [esi]
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x54], bl
call fcn.00404f3d
test eax, eax
je 0x43e45a
push 2
push dword [esi]
lea ecx, [ebp - 0x68]
call fcn.00404f3d
test eax, eax
je 0x43e45a
mov eax, dword [ebp + 0x10]
cmp dword [eax], 4
je 0x43e47b
push ebx
push 0x48f910
push esi
push dword [ebp + 0xc]
mov ecx, edi
mov dword [eax], 2
push esi
call fcn.00406bec
mov bl, al
pop edi
pop esi
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret 0xc
pop ecx
push eax
lea ecx, [ebp - 8]
call fcn.0040538e
mov esi, dword [ebp + 8]
cmp word [esi], 0x23
je 0x406a89
push 3
pop ebx
mov eax, dword [ebp - 4]
dec dword [eax]
jne 0x406a7e
push eax
call fcn.0042106c
pop ecx
push dword [ebp - 8]
call fcn.0042106c
pop ecx
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret 0x10
adc byte [eax], al
push 0xf
push 0x492624
push esi
call fcn.00423a0b
add esp, 0xc
test eax, eax
je 0x406bd2
push 0xb
push 0x49267c
push esi
call fcn.00423a0b
add esp, 0xc
test eax, eax
je 0x406bda
push 0xd
push 0x492644
push esi
call fcn.00423a0b
add esp, 0xc
test eax, eax
je 0x43e6e3
push 0x16
push 0x4925f4
push esi
call fcn.00423a0b
add esp, 0xc
test eax, eax
je 0x43e6ee
push 0xd
push 0x492660
push esi
call fcn.00423a0b
add esp, 0xc
test eax, eax
je 0x43e771
push 8
push 0x49242c
push esi
call fcn.00423a0b
add esp, 0xc
test eax, eax
je 0x43e7b3
push 0xf
push 0x48fb50
push esi
call fcn.00423a0b
add esp, 0xc
test eax, eax
je 0x406b45
push 3
push 0x48fb70
push esi
call fcn.00423a0b
add esp, 0xc
test eax, eax
jne 0x406bd2
xor ebx, ebx
inc ebx
mov dword [ebp + 8], ebx
push ecx
mov ecx, dword [ebp + 0x14]
push esi
call fcn.004059cd
test al, al
je 0x43e820
mov eax, dword [ebp + 0x10]
push esi
inc dword [eax]
call fcn.0040710a
push esi
call fcn.004070bd
push 0xf
push 0x48fb50
push esi
call fcn.00423a0b
add esp, 0xc
test eax, eax
je 0x406be4
push 3
push 0x48fb70
push esi
call fcn.00423a0b
add esp, 0xc
test eax, eax
je 0x406be4
push 0xd
push 0x48fb2c
push esi
call fcn.00423a0b
add esp, 0xc
test eax, eax
je 0x406bbe
push 3
push 0x48fb48
push esi
call fcn.00423a0b
add esp, 0xc
test eax, eax
jne 0x406b4b
mov eax, dword [ebp + 8]
dec eax
mov dword [ebp + 8], eax
test eax, eax
jle 0x406a67
jmp 0x406b4b
xor ebx, ebx
inc ebx
jmp 0x406a67
xor ebx, ebx
inc ebx
mov byte [edi], bl
jmp 0x406a67
inc dword [ebp + 8]
jmp 0x406b4b
sub esp, 0xe4
mov eax, dword [0x4c74a4]
push ebx
push esi
inc eax
mov esi, ecx
mov dword [esp + 0x18], esi
mov dword [0x4c74a4], eax
push edi
cmp eax, 0x30
jge 0x43e847
xor ebx, ebx
mov byte [esp + 0x13], 1
mov eax, ebx
mov byte [esp + 0x22], 1
lea ecx, [esp + 0xa8]
mov dword [esp + 0x14], eax
mov byte [esp + 0x24], bl
call fcn.00405906
mov edi, dword [ebp + 8]
lea ecx, [esp + 0xa8]
push 0x8000
push edi
call fcn.00405956
test al, al
je 0x43e861
lea ecx, [esp + 0x98]
call fcn.004077c7
lea ecx, [esp + 0x98]
call fcn.00420b9b
lea ecx, [esp + 0x88]
call fcn.004077c7
lea edx, [esp + 0x88]
mov ecx, edi
call fcn.004048ae
mov edi, dword [esp + 0xb8]
lea eax, [esp + 0x44]
mov esi, dword [esp + 0xbc]
lea ecx, [esp + 0xa8]
push eax
lea eax, [esp + 0x64]
mov dword [esp + 0x48], 0x18
push eax
call fcn.004059b0
push ebx
push esi
push edi
lea ecx, [esp + 0xb4]
call fcn.00405c4e
cmp dword [esp + 0x70], 0x21335541
je 0x43e87b
lea ecx, [esp + 0x50]
call fcn.004077c7
lea ecx, [esp + 0x28]
call fcn.004077c7
push ebx
lea eax, [esp + 0x2c]
push ebx
push eax
lea edx, [esp + 0x5c]
lea ecx, [esp + 0x94]
add byte [eax], al
add al, ch
add edx, ebx
invalid
inc dword [ebx + 0x448d0cc4]
and al, 0x28
lea ecx, [esp + 0x50]
push eax
call fcn.00407c8e
push dword [esp + 0x50]
call dword [0x48f208]
lea ecx, [esp + 0x28]
call fcn.00405a64
lea ecx, [esp + 0x50]
call fcn.00405a64
push 0x2000
call fcn.00420ff6
pop ecx
push eax
lea ecx, [esp + 0x48]
call fcn.0040538e
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x1c]
xchg esp, eax
cmp byte [esp + 0x22], 1
jne 0x406e47
push ecx
push esi
lea ecx, [esp + 0xb0]
call fcn.004059cd
test al, al
je 0x406e47
mov eax, dword [esp + 0x14]
inc eax
push esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], eax
call fcn.004070bd
push esi
call fcn.0040702c
push esi
test al, al
je 0x43ec07
call fcn.0040710a
push esi
mov byte [esp + 0x27], bl
call fcn.00422e3c
mov dword [esp + 0x3c], eax
pop ecx
cmp eax, 2
jle 0x406dbb
mov ax, word [esi + eax*2 - 4]
push 0x7f
pop ecx
and ax, cx
movzx eax, ax
push eax
call fcn.0042387d
pop ecx
test eax, eax
jne 0x406eaf
cmp byte [esp + 0x24], 1
je 0x43ebfa
push dword [esp + 0x88]
lea ecx, [esp + 0x7c]
call fcn.00407f41
lea eax, [esp + 0xa8]
mov ecx, edi
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x80]
push eax
push esi
call fcn.00406a3c
lea ecx, [esp + 0x78]
mov dword [esp + 0x38], eax
call fcn.00405a64
mov eax, dword [esp + 0x38]
test eax, eax
je 0x406eda
cmp eax, 1
jle 0x406ecd
cmp eax, 3
jg 0x406ec4
push dword [ebp + 0xc]
mov eax, dword [esp + 0x20]
mov ecx, edi
push esi
push eax
mov dword [esp + 0x20], eax
call fcn.00407373
cmp byte [esp + 0x23], 1
sete byte [esp + 0x24]
cmp byte [esp + 0x13], 1
je 0x406d42
lea ecx, [esp + 0xa8]
call fcn.00405dcf
push dword [esp + 0x98]
call dword [0x48f208]
mov eax, dword [esp + 0x48]
mov bl, byte [esp + 0x13]
dec dword [eax]
jne 0x406e7a
invalid
push eax
call fcn.0042106c
pop ecx
push esi
call fcn.0042106c
pop ecx
lea ecx, [esp + 0x88]
call fcn.00405a64
lea ecx, [esp + 0x98]
call fcn.00405a64
lea ecx, [esp + 0xa8]
call fcn.00405934
dec dword [0x4c74a4]
mov al, bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
xchg esi, eax
ljmp 0x74a4
mov eax, dword [esp + 0x38]
cmp word [esi + eax*2 - 2], 0x5f
jne 0x406dbb
jmp 0x43ebe9
cmp eax, 4
jne 0x406ecd
mov byte [esp + 0x22], bl
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jmp 0x406e32
mov byte [esp + 0x13], bl
jmp 0x406ecd
inc ebp
or al, 0x50
lea eax, [ebp + 0x10]
push eax
push 0x4ba080
lea ecx, [ebp - 0x68]
call 0x2469805
xadd byte [ebp + ebx - 0x73], dh
dec ebp
cwde
call 0x11404fca
movzx eax, byte [edi + 2]
push eax
push ecx
mov ecx, dword [edi + 0x60]
call fcn.00464554
pop ecx
pop ecx
jmp 0x406a51
lea ecx, [ebp - 0x30]
call fcn.00407796
lea ecx, [ebp - 0x20]
call fcn.00405f1b
jmp 0x406a51
inc ebp
call 0x445fcd1
push esi
call 0x8c42108c
jne 0x43e739
mov esi, dword [ebp + 0x48]
add byte [eax], dl
call 0x76422fb5
in al, 0x8d
dec ebp
cwde
call fcn.00404fca
jmp 0x43e6bc
daa
pop edx
cmp cx, dx
je 0x43e76d
movzx eax, word [ebx]
push 0x22
pop ecx
cmp ax, cx
je 0x43e75b
cmp ax, dx
je 0x43e75b
mov ecx, dword [edi + 4]
push ebx
mov eax, dword [ecx]
call dword [eax + 8]
jmp 0x43e785
push ebx
call 0x8c42108c
jne 0x43e7b9
push 0x4ba0a8
jmp 0x2f1551
cmp word [ebx], cx
jne 0x43e75b
jmp 0x89aab0a9
xor ecx, ecx
mov word [ebx + eax*2 - 2], cx
lea eax, [ebx + 2]
mov ecx, dword [edi + 4]
push eax
dec esp
inc ebx
dec byte [ebp + 0x4f8b0243]
add al, 0x50
mov edx, dword [ecx]
call dword [edx + 8]
push ebx
call 0x8c42108c
jne 0x43e776
popal
test ah, bh
push dword [ebx]
idiv byte [ecx]
ja 0x43e7b6
jbe 0x406bf2
mov eax, dword [edi + 0x1c]
mov ecx, dword [ebp + 0xc]
push 0
jne 0x43e7da
mov al, 0xe8
fcom qword [edx - 0x3f7a0004]
je 0x43e7bb
inc esi
cmp esi, dword [edi + 0x20]
jb 0x43e79c
and byte [edx - 0x1a], dh
jmp 0x406bf2
cld
dec dword [ebx - 0x24ccd3b9]
mov eax, dword [edi + 0x2c]
xor ebx, ebx
inc ebx
mov eax, dword [eax + esi*4]
cmp dword [eax], ebx
jle 0x406a87
push 4
jmp 0x11406a86
iretd
dec esp
sbb byte [edx], al
add byte [ecx + eax], bh
jne 0x43e838
push 0x4d8df875
fsubr st(0)
jno 0x43e785
cld
adc byte [eax + 0x75], ch
clc
lea ecx, [ebp - 0x18]
call fcn.00407f61
mov edi, edi
adc bh, bh
xor byte [ebp - 0xa927bb], cl
jne 0x43e813
push ecx
push eax
mov ecx, edi
call fcn.0040718b
pop ecx
push eax
lea eax, [ebp - 0x18]
mov ecx, edi
push eax
call 0x406c0c
inc ebp
call 0xe894b7a4
out dx, eax
cmp esp, 0xffffffff
lea ecx, [ebp - 0x18]
mov bl, al
call fcn.00405a84
lea ecx, [ebp - 0x28]
call fcn.00405a84
test bl, bl
je 0x43e860
jmp 0x406bf2
push esi
push 0x4ba108
jmp 0x43e851
cmp al, 0x82
cld
call dword [esi + 0x68]
xor al, 0xa1
dec ebx
add byte [ebx - 0x3074ef01], cl
push dword [eax]
je 0x43e7dd
mov edi, edi
adc byte [ebx + 0x7430ffcf], cl
add esp, 0xffffffe8
jno 0x43e872
invalid
add al, byte [eax]
xor ebx, ebx
jmp 0x11406a87
fucomi st(1)
and byte [edx + 0x756810fc], al
adc al, 0x68
enter 0x4b9f, 0
jne 0x43e87d
call dword [0x57e8107c]
adc eax, 0x57e8107c
adc al, 2
add byte [edx], dh
fucomi st(1)
cmp eax, 0x6810fc86
jne 0x43e898
mov ecx, esi
push 0x4ba050
jne 0x43e899
call dword [0x3be8107c]
adc al, 2
add cl, ch
pop ss
xchg ah, bh
cld
adc byte [ecx + 0x4574247c], al
inc ecx
xor byte [esi], dh
jne 0x406cef
lea ecx, [esp + 0x541200a8]
call fcn.00405def
mov edi, edi
or byte [ebp + 0x6a60244c], cl
add cl, byte [ecx - 0x768fdba4]
pop esp
and al, 0x74
push dword [eax]
mov byte [esp + 0x7c], bl
call fcn.00404f5d
test eax, eax
jne 0x43e8fa
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x18]
push eax
push 0x4ba080
lea ecx, [esp + 0x6c]
call fcn.00469805
lea ecx, [esp + 0x60]
test eax, eax
je 0x43e916
call 0x11404fca
push 0x4c8b1475
and al, 0x20
push 0x4ba050
jne 0x43e914
call dword [0xc0e8107c]
adc eax, dword [edx]
add cl, ch
test byte [ebp - 0x50170004], al
cld
dec dword [ebx + 0x6a142444]
add al, 0x5a
cld
invalid
call fcn.00404fca
mov eax, dword [esp + 0x14]
push 4
pop edx
push 0x10
mov edi, dword [eax]
ret
pop ecx
lea ecx, [esp + 0x50]
call fcn.00407796
lea ecx, [esp + 0x28]
call fcn.00405f1b
jmp 0x406e9a
dec ebx
add byte [eax - 0x3d], dl
mov eax, dword [ebp - 0x18]
fst qword [eax]
add bl, byte [ecx - 1]
je 0x43ec1b
sbb al, ch
invalid
and al, 0xfe
mov esi, dword [ebp + 0x48]
je 0x43ec25
adc al, 0xe8
scasb al, byte es:[edi]
inc ebx
invalid
jmp 0x43ebc3
mov ecx, edi
call fcn.0045fb27
jmp 0x406e52
cld
dec dword [ebx - 0x74e7dbbc]
iretd