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

Disassembly:
add ebx, 0x6cad
pop ebx
cmp dword [ebp - 0x750], 0
jne 0x405d02
push edi
push esi
add esp, 4
jmp 0x405ccb
call 0x405cd7
add byte [esi], dh
dec ebp
dec eax
cmp al, byte [eax + 0x3d]
add esp, 4
add edi, 0x59e1
call 0x405cef
add byte [eax + 0x33], al
xor al, 0x45
inc ecx
cmp al, 0x39
inc esi
aas
add esp, 4
pop edi
mov dword [ebp - 0x79c], 0
jmp 0x406829
push ebx
push ecx
add esp, 4
call 0x405d13
add byte [ecx + 0x3d], al
cmp al, 0x4b
dec edi
push eax
add esp, 4
jmp 0x405d1d
pop ebx
push ecx
add ecx, 0x1345
sub ecx, 0x4aa9
pop ecx
push esi
or esi, 0x13e12
pop esi
mov eax, dword [ebp - 0x750]
mov al, 0xf8
invalid
dec dword [ebx - 0x7276e7b8]
loopne 0x405d3d
invalid
inc edi
test dword [eax + 0xfffff8], esp
add byte [eax], al
add byte [ebx - 0x31f6b], cl
dec dword [ecx - 0x15ef6b]
inc dword [ebx - 0x15ef43]
inc dword [eax]
jne 0x405d73
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], eax
jmp 0x406064
mov ecx, dword [ebp - 0x15f0]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x15f4], edx
jne 0x405d9b
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], eax
jmp 0x406064
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x15f4]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x15f8], ecx
cmp dword [ebp - 0x15f8], 0
jne 0x405dcd
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], edx
jmp 0x406064
mov eax, dword [ebp - 0x320]
add eax, dword [ebp - 0x15f8]
mov dword [ebp - 0x754], eax
jne 0x405df2
mov ecx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], ecx
jmp 0x406064
mov edx, dword [ebp - 0x754]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1964], eax
mov ecx, dword [ebp - 0x754]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x1968], edx
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x196c], ecx
lea edx, [esi - 0x7a380001]
test al, 0xf8
invalid
inc dword [eax]
add byte [eax], al
add bl, ch
invalid
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x758]
cmp ecx, dword [eax + 0x18]
jae 0x406058
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x1964]
test dword [esi - 0x72740001], ebx
loopne 0x405e6d
invalid
inc dword [ebx]
or al, 0x90
mov dword [ebp - 0x75c], ecx
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x1968]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x196c]
xchg ebp, eax
xchg esp, eax
out 0xff, al
dec dword [ebx - 0x31f7b]
inc dword [ebx]
add al, 0x8a
cmp dword [ebp - 0x3f4], 0
je 0x40613f
push ebx
push ecx
add esp, 4
and ebx, 0x9104
and ebx, 0x1fc7
pop ebx
push esi
add esi, 0x15682
and esi, 0x2d5a
and esi, 0x16f76
pop esi
push edx
push esi
add esp, 4
sub edx, 0xfda4
pop edx
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x1974], eax
push edi
add edi, 0xecb8
add edi, 0x524a
add edi, 0x6310
adc byte [ebx], ah
add byte [ecx + 0x105eee7], al
add byte [edi + 0x50], bl
push ebx
add esp, 4
and eax, 0x8d0b
and eax, 0x16e00
or eax, 0xefac
pop eax
mov ecx, dword [ebp - 0x1974]
mov dword [ebp - 0x1978], ecx
lea edx, [ebp - 0x1738]
push edx
call dword [ebp - 0x1978]
test eax, eax
jne 0x40613f
push eax
push esi
add esp, 4
add eax, 0x8674
pop eax
push ecx
push ecx
add esp, 4
or ecx, 0x370b
pop ecx
push eax
sub eax, 0x16938
or eax, 0x1197e
or eax, 0x12aac
sub eax, 0xf40
pop eax
mov dword [ebp - 0x79c], 0
jmp 0x406829
push eax
push eax
add esp, 4
xor eax, 0x8d6f
call 0x406157
add byte [ebx], dh
cmp al, 0x33
inc ebp
cmp al, 0x33
xor eax, 0x5804c483
push eax
xor eax, 0x371b
and eax, 0x93ac
pop eax
push esi
xor esi, 0x8eff
pop esi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x197c], eax
mov ecx, dword [ebp - 0x197c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1980], edx
mov eax, dword [ebp - 0x1980]
mov dword [ebp - 0x15fc], eax
push edi
add edi, 0xcb68
jmp 0x4061a5
or edi, 0xbcb0
pop edi
push edx
push edi
add esp, 4
or edx, 0x7c85
or edx, 0x5738
add edx, 0x3316
and edx, 0xbb2a
pop edx
cmp dword [ebp - 0x15fc], 0
jne 0x4061e2
mov dword [ebp - 0x31c], 0
jmp 0x406489
mov ecx, dword [ebp - 0x15fc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcb4], eax
push esi
or esi, 0xf480
pop esi
push eax
call 0x40620c
add byte [edi], dh
cmp eax, dword [edx + 0x46]
cmp al, 0x35
inc ebp
dec ebx
dec esp
add esp, 4
and eax, 0xef74
call 0x406222
add byte [edi], bh
cmp edi, dword [0x4c4b3c4e]
add esp, 4
pop eax
cmp dword [ebp - 0xcb4], 0
jne 0x40623e
mov dword [ebp - 0x31c], 0
jmp 0x406489
mov ecx, dword [ebp - 0xcb4]
mov dword [ebp - 0x50c], ecx
push eax
push ecx
add esp, 4
add eax, 0x10d57
pop eax
push edi
push esi
add esp, 4
add edi, 0xb942
sub edi, 0x9ba3
or edi, 0x10881
add byte [edi + 0x50], bl
or eax, 0xb8fb
and eax, 0x109a4
pop eax
lea edx, [ebp - 0x1738]
mov dword [ebp - 0xcb0], edx
mov eax, dword [ebp - 0x50c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcac], ecx
xor edx, edx
mov word [ebp - 0x218], dx
xor eax, eax
mov word [ebp - 0x34], ax
push ecx
jmp 0x4062ae
add ecx, 0x123ca
call 0x4062c1
add byte [eax + 0x46], cl
dec esp
inc edi
cmp eax, 0xc4834249
add al, 0x59
push edi
xor edi, 0x5a23
jmp 0x4062d1
and edi, 0xf39d
pop edi
mov ecx, dword [ebp - 0xcac]
mov dx, word [ecx]
mov word [ebp - 0x103a], dx
mov eax, dword [ebp - 0xcac]
add eax, 2
mov dword [ebp - 0xcac], eax
mov cx, word [ebp - 0x103a]
mov word [ebp - 0x218], cx
mov edx, dword [ebp - 0xcb0]
mov ax, word [edx]
mov word [ebp - 0x103c], ax
mov ecx, dword [ebp - 0xcb0]
add ecx, 2
mov dword [ebp - 0xcb0], ecx
mov dx, word [ebp - 0x103c]
mov word [ebp - 0x34], dx
push eax
and eax, 0xfca2
cld
add byte [eax], al
sub eax, 0x109bf
or eax, 0x1418b
or eax, 0xacc5
pop eax
push ecx
push ecx
add esp, 4
or ecx, 0xdbe9
xor ecx, 0xe6fe
sub ecx, 0x1069c
pop ecx
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x40637e
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x1604], ecx
jmp 0x4063d8
movzx eax, word [ebp - 0x218]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x4062a6
movzx edx, word [ebp - 0x218]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x4062a6
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x4063c2
mov dword [ebp - 0x1600], 0xffffffff
jmp 0x4063cc
mov dword [ebp - 0x1600], 1
mov eax, dword [ebp - 0x1600]
mov dword [ebp - 0x1604], eax
cmp dword [ebp - 0x1604], 0
jne 0x406421
push ecx
push edi
add esp, 4
add ecx, 0xf006
pop ecx
push esi
push edi
add esp, 4
add esi, 0x147e8
call 0x406407
add byte [ecx + 0x33], al
inc ebp
inc esp
push eax
cmp dh, byte [ebx]
dec ecx
inc edx
add esp, 4
pop esi
push edx
add edx, 0x114ce
pop edx
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x31c], ecx
jmp 0x406489
push edx
or edx, 0x17c79
call 0x406435
add byte [esp + esi], dh
xor eax, 0x3b354f41
add esp, 4
add edx, 0x5cd3
pop edx
push edx
or edx, 0x47a9
pop edx
push ecx
push edi
add esp, 4
sub ecx, 0x18382
pop ecx
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
cmp ecx, dword [ebp - 0xcb4]
je 0x40647f
mov edx, dword [ebp - 0x50c]
cmp dword [edx + 0x30], 0
jne 0x40624a
mov dword [ebp - 0x31c], 0
push eax
push eax
push ecx
add esp, 4
or eax, 0x2150
add eax, 0x91ea
pop eax
push esi
sub esi, 0x13691
pop esi
push eax
push edx
add esp, 4
or eax, 0x11dcd
or eax, 0x14cc7
and eax, 0x115f8
pop eax
mov ecx, dword [ebp - 0x3e8]
add ecx, 0xe
mov dword [ebp - 0x19dc], ecx
push esi
add esi, 0x8e93
pop esi
push eax
push edx
add esp, 4
add eax, 0x4f1d
xor eax, 0xdefe
or eax, 0x16833
call 0x406898
add byte [eax + 0x4c], al
dec ebp
cmp dword [eax + 0x4e], ecx
cmp al, 0x42
dec ebp
add esp, 4
pop eax
cmp dword [ebp - 0x3e8], 0
je 0x4068ae
cmp dword [ebp - 0xab8], 0
jne 0x4068f4
push ebx
or ebx, 0x53bf
pop ebx
push eax
xor eax, 0x446c
pop eax
push eax
xor eax, 0xa7ef
jmp 0x4068cd
sub eax, 0x163ae
pop eax
push esi
push eax
add esp, 4
xor esi, 0x581c
pop esi
mov edx, dword [ebp - 0x79c]
mov dword [ebp - 0x1990], edx
push 0
call dword [ebp - 0x1990]
mov dword [ebp - 0x20a8], 0xa
push edi
push esi
add esp, 4
and edi, 0x1199b
call 0x406915
add byte [esi], bh
dec ecx
dec esi
dec edi
dec edi
add esp, 4
jmp fcn.0040691d