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

Disassembly:
add esp, 4
or ecx, 0x1f5f
pop ecx
push edx
push ebx
add esp, 4
jmp 0x417aa0
pop edx
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x318], ecx
jmp 0x417b17
push ebx
push ebx
add esp, 4
and ebx, 0xf79e
sub ebx, 0x169bf
and ebx, 0x16231
pop ebx
push edi
push ebx
add esp, 4
or edi, 0xbb9e
pop edi
push ecx
or ecx, 0x13374
add ecx, 0x755
pop ecx
mov eax, dword [ebp - 0x318]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x324], ecx
push ebx
push ebx
add esp, 4
xor ebx, 0x13e89
sub ebx, 0x13988
pop ebx
push esi
push edi
add esp, 4
and esi, 0x2eb2
pop esi
push edi
push eax
add esp, 4
jmp 0x417b83
sub edi, 0x15611
pop edi
mov dword [ebp - 0x770], 0
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x1600], edx
cmp dword [ebp - 0x1600], 0
jne 0x417bba
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x417eab
mov ecx, dword [ebp - 0x1600]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1604], edx
jne 0x417be2
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x417eab
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1604]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1608], ecx
cmp dword [ebp - 0x1608], 0
jne 0x417c14
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
jmp 0x417eab
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x1608]
mov dword [ebp - 0x764], eax
jne 0x417c39
mov ecx, dword [ebp - 0x770]
mov dword [ebp - 0x510], ecx
jmp 0x417eab
mov edx, dword [ebp - 0x764]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x197c], eax
mov ecx, dword [ebp - 0x764]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x1d04], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1980], ecx
mov dword [ebp - 0x768], 0
jmp 0x417c93
mov edx, dword [ebp - 0x768]
add edx, 1
mov dword [ebp - 0x768], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x768]
cmp ecx, dword [eax + 0x18]
jae 0x417e9f
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x197c]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x76c], ecx
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x1d04]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1980]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x1984], eax
mov dword [ebp - 0x1a0], 0
jmp 0x417d03
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x1a0]
movsx eax, byte [edx]
test eax, eax
je 0x417db5
mov ecx, dword [ebp - 0x1a0]
movsx edx, byte [ebp + ecx - 0x878]
test edx, edx
je 0x417db5
push ebx
push edi
add esp, 4
and ebx, 0x12c9c
add ebx, 0x11050
pop ebx
push ecx
and ecx, 0x21ff
xor ecx, 0x7197
call 0x417d5e
add byte [ebx + 0x50], cl
dec eax
dec esi
xor cl, byte ss:[ebp + 0x42]
cmp dword [ebx - 0x74a6fb3c], eax
test dword [eax + edi*8 - 0x7afc0001], edx
pushal
invalid
push edx
sub edx, 0x158bc
pop edx
push eax
call 0x417dcb
add byte [esi + 0x4b], cl
cmp byte [eax + 0x4e], cl
aaa
dec edx
add esp, 4
pop eax
push eax
push edi
add esp, 4
add eax, 0xc6cc
or eax, 0xf69d
add eax, 0x11880
pop eax
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x1a0]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x1a0]
movsx edx, byte [ebp + ecx - 0x878]
cmp eax, edx
jne 0x417e14
mov dword [ebp - 0xcb8], 0
jmp 0x417e83
push edx
push eax
add esp, 4
and edx, 0x7861
or edx, 0x54f
add edx, 0x335f
pop edx
push edx
and edx, 0x5a6a
or edx, 0x14b9c
or edx, 0x2f24
xor edx, 0x101bd
pop edx
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x878]
or eax, 0x20
cmp ecx, eax
jge 0x417e79
mov dword [ebp - 0xcb8], 0xffffffff
jmp 0x417e83
mov dword [ebp - 0xcb8], 1
cmp dword [ebp - 0xcb8], 0
jne 0x417e9a
mov ecx, dword [ebp - 0x1984]
mov dword [ebp - 0x510], ecx
jmp 0x417eab
jmp 0x417c84
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
mov eax, dword [ebp - 0x510]
mov dword [ebp - 0x79c], eax
push edi
sub edi, 0xd06f
pop edi
push esi
push esi
add esp, 4
and esi, 0x184c1
add esi, 0x19ed
pop esi
push edx
push edx
add esp, 4
and edx, 0x84f0
or edx, 0xfdc3
sub edx, 0x14f09
pop edx
mov ecx, dword [ebp - 0x3f8]
add ecx, 0xe
mov dword [ebp - 0x19d4], ecx
push edi
add edi, 0x131f0
and edi, 0x1181c
add edi, 0x2236
pop edi
push ecx
xor ecx, 0x1ccd
call 0x417f20
add byte [edx + 0x45], al
inc ebx
xor eax, dword [esi + 0x36]
dec ecx
add esp, 4
add ecx, 0x16b9a
pop ecx
cmp dword [ebp - 0x3f8], 0
je 0x417f3c
cmp dword [ebp - 0xab4], 0
jne 0x417f82
push ebx
push ebx
add esp, 4
jmp 0x417f4a
add ebx, 0x113f2
pop ebx
push ebx
sub ebx, 0xa586
call 0x417f64
add byte [esi], dh
cmp dword [eax + 0x39], edx
push eax
dec esi
add esp, 4
or ebx, 0xe6d8
pop ebx
mov edx, dword [ebp - 0x79c]
mov dword [ebp - 0x1988], edx
push 0
call dword [ebp - 0x1988]
mov dword [ebp - 0x2090], 0xa
push esi
jmp 0x417f96
add esi, 0xf062
pop esi
push ebx
call 0x417fad
add byte [ebx + 0x3f], cl
inc edx
aas
xor al, 0x4d
inc edx
dec eax
dec edx
add esp, 4
jmp 0x417fb5
pop ebx
push edx
or edx, 0x14a21
pop edx
mov eax, dword [ebp - 0x3f8]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x3ae], cl
mov edx, dword [ebp - 0xab4]
sub edx, dword [ebp - 0x3f8]
mov dword [ebp - 0x168c], edx
mov dword [ebp - 0xce8], 0
push eax
call 0x417ff8
add byte [edi], bh
xor dh, byte [esi + edi]
push eax
xor al, 0x48
dec edx
add esp, 4
add eax, 0x10fac
xor eax, 0x1808
pop eax
push edx
or edx, 0x44b8
and edx, 0x3718
jmp 0x41801a
pop edx
mov byte [ebp - 0x9d4], 0x56
mov byte [ebp - 0x9d3], 0x69
mov byte [ebp - 0x9d2], 0x72
mov byte [ebp - 0x9d1], 0x74
mov byte [ebp - 0x9d0], 0x75
mov byte [ebp - 0x9cf], 0x61
mov byte [ebp - 0x9ce], 0x6c
mov byte [ebp - 0x9cd], 0x50
mov byte [ebp - 0x9cc], 0x72
mov byte [ebp - 0x9cb], 0x6f
mov byte [ebp - 0x9ca], 0x74
mov byte [ebp - 0x9c9], 0x65
mov byte [ebp - 0x9c8], 0x63
mov byte [ebp - 0x9c7], 0x74
mov byte [ebp - 0x9c6], 0
push ebx
push edx
add esp, 4
xor ebx, 0x10f17
jmp 0x418096
jmp 0x41809b
add ebx, 0xa9a9
pop ebx
push ebx
call 0x4180b2
add byte [ecx + 0x3c], cl
xor ecx, dword ds:[ebx + 0x4b]
inc eax
xor eax, 0x4c4834b
pop ebx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x198c], eax
mov ecx, dword [ebp - 0x198c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1990], edx
mov eax, dword [ebp - 0x1990]
mov dword [ebp - 0x160c], eax
push edi
call 0x4180ec
add byte [esi], dh
xor al, 0x3c
cmp al, byte [ebp + 0x38]
inc esi
inc ecx
add esp, 4
call 0x4180fd
add byte [edi], bh
dec ecx
inc eax
inc ebp
inc edx
dec edx
dec esp
inc esi
add esp, 4
sub edi, 0x9446
pop edi
push esi
sub esi, 0x42a9
pop esi
cmp dword [ebp - 0x160c], 0
jne 0x418127
mov dword [ebp - 0x314], 0
jmp 0x4183ce
mov ecx, dword [ebp - 0x160c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcc4], eax
push ebx
push ecx
add esp, 4
or ebx, 0xa828
sub ebx, 0x12f42
pop ebx
push ebx
push ecx
add esp, 4
call 0x41815f
add byte [0x404d454b], bh
inc edi
dec ebx
cmp dword [0x5b04c483], edi
push ecx
add ecx, 0xa475
pop ecx
cmp dword [ebp - 0xcc4], 0
jne 0x418183
mov dword [ebp - 0x314], 0
jmp 0x4183ce
mov ecx, dword [ebp - 0xcc4]
mov dword [ebp - 0x514], ecx
push edi
push ecx
add esp, 4
jmp 0x418199
xor edi, 0x89ad
pop edi
push edi
xor edi, 0x91d8
add edi, 0x7d17
call 0x4181bd
add byte [eax + 0x3a], dl
dec edi
dec esp
dec esi
inc eax
aas
inc eax
dec eax
add esp, 4
pop edi
lea edx, [ebp - 0x1734]
mov dword [ebp - 0xcc0], edx
mov eax, dword [ebp - 0x514]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcbc], ecx
xor edx, edx
mov word [ebp - 0x218], dx
xor eax, eax
mov word [ebp - 0x38], ax
push edx
push eax
add esp, 4
or edx, 0x3914
pop edx
push ecx
push edx
add esp, 4
call 0x418208
add byte [edx], bh
push eax
cmp eax, dword [ebx + 0x3f]
inc esi
add esp, 4
or ecx, 0x12986
sub ecx, 0x2ede
jmp 0x41821c
pop ecx
mov ecx, dword [ebp - 0xcbc]
mov dx, word [ecx]
mov word [ebp - 0x103e], dx
mov eax, dword [ebp - 0xcbc]
add eax, 2
mov dword [ebp - 0xcbc], eax
mov cx, word [ebp - 0x103e]
mov word [ebp - 0x218], cx
mov edx, dword [ebp - 0xcc0]
mov ax, word [edx]
mov word [ebp - 0x1040], ax
mov ecx, dword [ebp - 0xcc0]
add ecx, 2
mov dword [ebp - 0xcc0], ecx
mov dx, word [ebp - 0x1040]
mov word [ebp - 0x38], dx
push edi
push eax
add esp, 4
add edi, 0x10db7
call 0x41828e
add byte [esi], bh
cmp bh, byte [edi]
inc ecx
dec ebx
inc edx
inc esp
add esp, 4
pop edi
push edi
push esi
add esp, 4
xor edi, 0x1038f
pop edi
push edi
xor edi, 0x1655
pop edi
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x4182c3
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1614], ecx
jmp 0x41831d
movzx eax, word [ebp - 0x218]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x4181eb
movzx edx, word [ebp - 0x218]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x4181eb
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x418307
mov dword [ebp - 0x1610], 0xffffffff
jmp 0x418311
mov dword [ebp - 0x1610], 1
mov eax, dword [ebp - 0x1610]
mov dword [ebp - 0x1614], eax
cmp dword [ebp - 0x1614], 0
jne 0x418366
push edx
push edi
add esp, 4
call 0x41833a
add byte [esi], bh
cmp dword [ebx + 0x47], ecx
xor al, byte [esi + 0x38]
xor ecx, dword [esi - 0x7d]
les eax, [ecx + eax*4]
ljmp 0x505a
push esi
push edx
add esp, 4
xor esi, 0xe752
pop esi
push eax
sub eax, 0x398c
sub eax, 0x1c00
pop eax
push eax
push edi
add esp, 4
and eax, 0x12c8b
jmp 0x418391
and eax, 0x1087e
pop eax
mov edx, dword [ebp - 0x514]
mov eax, dword [edx]
mov dword [ebp - 0x514], eax
mov ecx, dword [ebp - 0x514]
cmp ecx, dword [ebp - 0xcc4]
je 0x4183c4
mov edx, dword [ebp - 0x514]
cmp dword [edx + 0x30], 0
jne 0x41818f
mov dword [ebp - 0x314], 0
push edi
or edi, 0x1011f
or edi, 0x2094
call 0x4183ea
add byte [edx + 0x4c], cl
push eax
cmp al, byte [ebp + 0x3f]
dec eax
dec edi
push eax
add esp, 4
pop edi
push ecx
push ebx
add esp, 4
or ecx, 0x8709
xor ecx, 0x70f7
pop ecx
cmp dword [ebp - 0x314], 0
jne 0x418d05
mov eax, 0x6b
mov word [ebp - 0x178c], ax
mov ecx, 0x65
mov word [ebp - 0x178a], cx
mov edx, 0x72
mov word [ebp - 0x1788], dx
mov eax, 0x6e
mov word [ebp - 0x1786], ax
mov ecx, 0x65
mov word [ebp - 0x1784], cx
mov edx, 0x6c
mov word [ebp - 0x1782], dx
mov eax, 0x33
mov word [ebp - 0x1780], ax
mov ecx, 0x32
mov word [ebp - 0x177e], cx
mov edx, 0x2e
mov word [ebp - 0x177c], dx
mov eax, 0x64
mov word [ebp - 0x177a], ax
test dword [esi - 0x46000018], eax
insb byte es:[edi], dx
add byte [eax], al
add byte [esi - 0x77], ah
lea ecx, [eax - 0x45000018]
insb byte es:[edi], dx
add byte [eax], al
add byte [esi - 0x77], ah
xchg ebp, eax
mov ch, al
invalid
push dword [ebx]
shl byte [esi - 0x77], 0x85
mov eax, gs
invalid
call dword [ebx - 0x7f]
retf
cld
jecxz 0x4184ac
add al, ch
or byte [eax], al
add byte [eax], al
add byte [0x37373647], bh
xor dh, byte [edx]
add esp, 4
or ebx, 0x15075
pop ebx
push eax
and eax, 0x5255
xor eax, 0x176c7
sub eax, 0x28cf
pop eax
mov byte [ebp - 0x8a4], 0x4c
mov byte [ebp - 0x8a3], 0x6f
mov byte [ebp - 0x8a2], 0x61
mov byte [ebp - 0x8a1], 0x64
mov byte [ebp - 0x8a0], 0x4c
mov byte [ebp - 0x89f], 0x69
mov byte [ebp - 0x89e], 0x62
mov byte [ebp - 0x89d], 0x72
mov byte [ebp - 0x89c], 0x61
mov byte [ebp - 0x89b], 0x72
mov byte [ebp - 0x89a], 0x79
idiv di
invalid
jns 0x4184ec
test dword [edi - 9], esp
invalid
call dword [edi - 0x3a]
test dword [eax - 9], ebp
invalid
inc dword [eax]
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x1994], ecx
mov edx, dword [ebp - 0x1994]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1998], eax
mov ecx, dword [ebp - 0x1998]
mov dword [ebp - 0x1618], ecx
push ebx
push ebx
add esp, 4
or ebx, 0xd4f2
pop ebx
push edi
push ecx
add esp, 4
add edi, 0x18646
pop edi
push ecx
xor ecx, 0x115af
add ecx, 0xc94e
sub ecx, 0x72ac
xor ecx, 0x11fd
pop ecx
cmp dword [ebp - 0x1618], 0
jne 0x4185a5
mov dword [ebp - 0x774], 0
jmp 0x41884c
mov edx, dword [ebp - 0x1618]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcd0], ecx
push edx
call 0x4185c4
add byte [edx + 0x4f], al
cmp al, 0x4a
dec ebp
cmp eax, 0xeb04c483
add eax, 0x3e494436
inc edi
pop edx
push edx
add edx, 0x11aa5
or edx, 0xecef
sub edx, 0x14aa9
xor edx, 0x12cdf
pop edx
cmp dword [ebp - 0xcd0], 0
jne 0x418601
mov dword [ebp - 0x774], 0
jmp 0x41884c
mov edx, dword [ebp - 0xcd0]
mov dword [ebp - 0x518], edx
push edx
push edi
add esp, 4
and edx, 0x4f15
pop edx
push ecx
push esi
add esp, 4
or ecx, 0x6922
pop ecx
push eax
add eax, 0x13531
add eax, 0x1596e
pop eax
push ebx
push eax
add esp, 4
xor ebx, 0x4ed7
pop ebx
lea eax, [ebp - 0x178c]
mov dword [ebp - 0xccc], eax
mov ecx, dword [ebp - 0x518]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcc8], edx
xor eax, eax
mov word [ebp - 0x21c], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push eax
push esi
add esp, 4
call 0x41867a
add byte [0x3d334c50], dh
cmp byte [ebx + 0x3eb04c4], al
inc edi
dec esi
inc ebp
pop eax
push eax
push edi
add esp, 4
sub eax, 0x9d08
or eax, 0xd53f
sub eax, 0xd025
pop eax
mov edx, dword [ebp - 0xcc8]
mov ax, word [edx]
mov word [ebp - 0x1042], ax
mov ecx, dword [ebp - 0xcc8]
add ecx, 2
mov dword [ebp - 0xcc8], ecx
mov dx, word [ebp - 0x1042]
mov word [ebp - 0x21c], dx
mov eax, dword [ebp - 0xccc]
mov cx, word [eax]
mov word [ebp - 0x1044], cx
mov edx, dword [ebp - 0xccc]
add edx, 2
mov dword [ebp - 0xccc], edx
mov ax, word [ebp - 0x1044]
mov word [ebp - 0x3c], ax
push edi
sub edi, 0xe553
pop edi
push eax
push ebx
add esp, 4
add eax, 0xde0a
pop eax
push esi
push edi
add esp, 4
or esi, 0x434e
or esi, 0x12881
sub esi, 0x14bbe
add esi, 0xbc4c
pop esi
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x418741
movzx edx, word [ebp - 0x21c]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1620], edx
jmp 0x41879b
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x418669
movzx eax, word [ebp - 0x21c]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x418669
movzx edx, word [ebp - 0x21c]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x418785
mov dword [ebp - 0x161c], 0xffffffff
jmp 0x41878f
mov dword [ebp - 0x161c], 1
mov ecx, dword [ebp - 0x161c]
mov dword [ebp - 0x1620], ecx
cmp dword [ebp - 0x1620], 0
jne 0x4187e4
push eax
push ecx
add esp, 4
add eax, 0x101e3
pop eax
push ecx
sub ecx, 0x14184
pop ecx
push esi
jmp 0x4187c1
pop esi
push esi
call fcn.004187d2
add byte [esi + 0x39], cl
dec esi
inc ebx
aas
inc eax
push eax
push ebx
jmp 0x4187ee
xor ebx, 0xa8bb
pop ebx
push edi
sub edi, 0x7649
sub edi, 0x120f9
call 0x418812
add byte [esi], bh
xor al, 0x4f
dec eax
dec esi
cmp dword [0x83424d3e], edi
les eax, [edi + ebx*2]
mov eax, dword [ebp - 0x518]
mov ecx, dword [eax]
mov dword [ebp - 0x518], ecx
mov edx, dword [ebp - 0x518]
cmp edx, dword [ebp - 0xcd0]
je 0x418842
mov eax, dword [ebp - 0x518]
cmp dword [eax + 0x30], 0
jne 0x41860d
mov dword [ebp - 0x774], 0