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

Disassembly:
add esp, 4
and edx, 0xddfe
pop edx
mov edx, dword fs:[0x18]
mov dword [ebp - 0x200c], edx
mov eax, dword [ebp - 0x200c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1964], ecx
mov edx, dword [ebp - 0x1964]
mov dword [ebp - 0x15e0], edx
push edx
push ebx
add esp, 4
and edx, 0x180d9
and edx, 0x173fa
sub edx, 0x11435
pop edx
push ebx
add ebx, 0x14236
sub ebx, 0x156b2
sub ebx, 0x6445
add ebx, 0x1607f
pop ebx
cmp dword [ebp - 0x15e0], 0
jne 0x6151525e
mov dword [ebp - 0x2d4], 0
jmp 0x6151551a
mov eax, dword [ebp - 0x15e0]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc9c], edx
push edx
jmp 0x61515276
xor edx, 0x12826
xor edx, 0x3972
pop edx
push edi
and edi, 0x73e
add edi, 0x758b
call 0x6151529e
add byte [esi + 0x45], al
inc ebp
xor al, 0x49
cmp eax, 0xc4834847
add al, 0x5f
cmp dword [ebp - 0xc9c], 0
jne 0x615152ba
mov dword [ebp - 0x2d4], 0
jmp 0x6151551a
mov eax, dword [ebp - 0xc9c]
mov dword [ebp - 0x508], eax
push edx
push esi
add esp, 4
xor edx, 0x9053
or edx, 0x847
and edx, 0xab1
sub edx, 0xfc3b
pop edx
push eax
push eax
add esp, 4
or eax, 0x63fc
pop eax
push edx
xor edx, 0x15dbc
pop edx
lea ecx, [ebp - 0x1740]
mov dword [ebp - 0xc98], ecx
mov edx, dword [ebp - 0x508]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc94], eax
xor ecx, ecx
mov word [ebp - 0x210], cx
xor edx, edx
mov word [ebp - 0x10c], dx
push ebx
push edx
add esp, 4
and ebx, 0x3b18
sub ebx, 0x3bcb
sub ebx, 0x10407
pop ebx
push edi
push edx
add esp, 4
sub edi, 0x9cb5
jmp 0x61515350
and edi, 0xb54
pop edi
mov eax, dword [ebp - 0xc94]
mov cx, word [eax]
mov word [ebp - 0x1036], cx
mov edx, dword [ebp - 0xc94]
add edx, 2
mov dword [ebp - 0xc94], edx
mov ax, word [ebp - 0x1036]
mov word [ebp - 0x210], ax
mov ecx, dword [ebp - 0xc98]
mov dx, word [ecx]
mov word [ebp - 0x1038], dx
mov eax, dword [ebp - 0xc98]
add eax, 2
mov dword [ebp - 0xc98], eax
mov cx, word [ebp - 0x1038]
mov word [ebp - 0x10c], cx
push edi
call 0x615153bf
add byte [edx + 0x37], al
dec ecx
xor al, byte [eax + 0x48]
dec ebp
add esp, 4
call 0x615153d1
add byte [edi], bh
inc edi
xor eax, 0x3d404336
cmp eax, 0x4c48332
add edi, 0x28ce
jmp 0x615153e2
pop edi
movzx edx, word [ebp - 0x10c]
test edx, edx
jne 0x61515406
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
sub eax, ecx
mov dword [ebp - 0x15e8], eax
jmp 0x61515469
movzx edx, word [ebp - 0x210]
movzx eax, word [ebp - 0x10c]
cmp edx, eax
je 0x61515325
movzx ecx, word [ebp - 0x210]
xor ecx, 0x20
movzx edx, word [ebp - 0x10c]
cmp ecx, edx
je 0x61515325
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
cmp eax, ecx
jge 0x61515453
mov dword [ebp - 0x15e4], 0xffffffff
jmp 0x6151545d
mov dword [ebp - 0x15e4], 1
mov edx, dword [ebp - 0x15e4]
mov dword [ebp - 0x15e8], edx
cmp dword [ebp - 0x15e8], 0
jne 0x615154b2
push edi
push esi
add esp, 4
and edi, 0x17d51
pop edi
push edx
jmp 0x61515484
add edx, 0x15faf
call 0x6151549a
add byte [ebp + esi + 0x44], cl
dec ebx
inc edx
cmp byte [esi], bh
aaa
dec ebx
dec edi
add esp, 4
sub edx, 0x17bc5
pop edx
mov eax, dword [ebp - 0x508]
mov dword [ebp - 0x2d4], eax
jmp 0x6151551a
push edi
or edi, 0x14dcb
add edi, 0xe28d
jmp 0x615154c5
pop edi
push esi
push ecx
add esp, 4
xor esi, 0xca51
xor esi, 0x7379
pop esi
push esi
push ecx
add esp, 4
add esi, 0x11f00
pop esi
mov ecx, dword [ebp - 0x508]
mov edx, dword [ecx]
mov dword [ebp - 0x508], edx
mov eax, dword [ebp - 0x508]
cmp eax, dword [ebp - 0xc9c]
je 0x61515510
mov ecx, dword [ebp - 0x508]
cmp dword [ecx + 0x30], 0
jne 0x615152c6
mov dword [ebp - 0x2d4], 0
push esi
push ecx
add esp, 4
call 0x6151552e
add byte [ecx + 0x4c], cl
inc esi
inc edx
dec esp
inc eax
inc eax
cmp dword [edi], esi
add esp, 4
pop esi
push edx
add edx, 0x62a
xor edx, 0x4e31
xor edx, 0xa016
and edx, 0x254a
pop edx
cmp dword [ebp - 0x2d4], 0
jne 0x61515e65
mov edx, 0x6b
mov word [ebp - 0x1784], dx
mov eax, 0x65
mov word [ebp - 0x1782], ax
mov ecx, 0x72
mov word [ebp - 0x1780], cx
mov edx, 0x6e
mov word [ebp - 0x177e], dx
mov eax, 0x65
mov word [ebp - 0x177c], ax
mov ecx, 0x6c
mov word [ebp - 0x177a], cx
mov edx, 0x33
mov word [ebp - 0x1778], dx
mov eax, 0x32
mov word [ebp - 0x1776], ax
mov ecx, 0x2e
mov word [ebp - 0x1774], cx
mov edx, 0x64
mov word [ebp - 0x1772], dx
mov eax, 0x6c
mov word [ebp - 0x1770], ax
mov ecx, 0x6c
mov word [ebp - 0x176e], cx
xor edx, edx
mov word [ebp - 0x176c], dx
push edx
xor edx, 0xa068
call 0x61515606
add byte [ebx + edi], dh
cmp byte [edi + 0x48], cl
push eax
dec ecx
add esp, 4
and edx, 0x10db7
add edx, 0xf970
pop edx
push edx
add edx, 0x16e3a
or edx, 0x121a1
pop edx
mov byte [ebp - 0x898], 0x4c
mov byte [ebp - 0x897], 0x6f
mov byte [ebp - 0x896], 0x61
mov byte [ebp - 0x895], 0x64
mov byte [ebp - 0x894], 0x4c
mov byte [ebp - 0x893], 0x69
mov byte [ebp - 0x892], 0x62
mov byte [ebp - 0x891], 0x72
mov byte [ebp - 0x890], 0x61
mov byte [ebp - 0x88f], 0x72
mov byte [ebp - 0x88e], 0x79
mov byte [ebp - 0x88d], 0x57
mov byte [ebp - 0x88c], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1968], eax
mov ecx, dword [ebp - 0x1968]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x196c], edx
mov eax, dword [ebp - 0x196c]
mov dword [ebp - 0x15ec], eax
push ecx
add ecx, 0xae3e
xor ecx, 0x17303
sub ecx, 0x115b9
call 0x615156c8
add byte [0x39323a45], bh
inc ecx
aas
dec edi
inc edi
add esp, 4
pop ecx
push ebx
push edi
add esp, 4
or ebx, 0x13b93
pop ebx
cmp dword [ebp - 0x15ec], 0
jne 0x615156f0
mov dword [ebp - 0x754], 0
jmp 0x615159ac
mov ecx, dword [ebp - 0x15ec]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xca8], eax
push edx
push edi
add esp, 4
and edx, 0x11d32
jmp 0x61515713
add edx, 0x24f
pop edx
push edi
xor edi, 0x182c7
sub edi, 0xde8
sub edi, 0xfed2
xor edi, 0x89ca
pop edi
cmp dword [ebp - 0xca8], 0
jne 0x6151574c
mov dword [ebp - 0x754], 0
jmp 0x615159ac
mov ecx, dword [ebp - 0xca8]
mov dword [ebp - 0x50c], ecx
push edi
push ebx
add esp, 4
jmp 0x61515766
pop edi
push ebx
push edi
add esp, 4
add ebx, 0x12834
call 0x61515780
add byte [eax + 0x38], cl
inc edx
inc ecx
dec edx
inc ebp
dec ecx
dec eax
add esp, 4
or ebx, 0x870f
pop ebx
lea edx, [ebp - 0x1784]
mov dword [ebp - 0xca4], edx
mov eax, dword [ebp - 0x50c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xca0], ecx
xor edx, edx
mov word [ebp - 0x214], dx
xor eax, eax
mov word [ebp - 0x110], ax
push edx
push eax
add esp, 4
add edx, 0x7d28
pop edx
push ebx
and ebx, 0xbe8e
call 0x615157d9
add byte [ebp + 0x41], cl
xor al, 0x45
dec ebp
inc edi
add esp, 4
sub ebx, 0x786a
or ebx, 0x7cd8
pop ebx
mov ecx, dword [ebp - 0xca0]
mov dx, word [ecx]
mov word [ebp - 0x103a], dx
mov eax, dword [ebp - 0xca0]
add eax, 2
mov dword [ebp - 0xca0], eax
mov cx, word [ebp - 0x103a]
mov word [ebp - 0x214], cx
mov edx, dword [ebp - 0xca4]
mov ax, word [edx]
mov word [ebp - 0x103c], ax
mov ecx, dword [ebp - 0xca4]
add ecx, 2
mov dword [ebp - 0xca4], ecx
mov dx, word [ebp - 0x103c]
mov word [ebp - 0x110], dx
push ecx
and ecx, 0x182f5
and ecx, 0x15c5
pop ecx
push ebx
push esi
add esp, 4
call 0x61515864
add byte [edi + 0x4b], al
cmp al, 0x3e
dec ebx
inc ebx
xor eax, dword ss:[ebx + 0x5eb04c4]
inc ebp
dec ecx
xor bh, byte [eax]
dec edi
sub ebx, 0x10cce
pop ebx
movzx eax, word [ebp - 0x110]
test eax, eax
jne 0x61515898
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x110]
sub ecx, edx
mov dword [ebp - 0x15f4], ecx
jmp 0x615158fb
movzx eax, word [ebp - 0x214]
movzx ecx, word [ebp - 0x110]
cmp eax, ecx
je 0x615157b7
movzx edx, word [ebp - 0x214]
xor edx, 0x20
movzx eax, word [ebp - 0x110]
cmp edx, eax
je 0x615157b7
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x110]
cmp ecx, edx
jge 0x615158e5
mov dword [ebp - 0x15f0], 0xffffffff
jmp 0x615158ef
mov dword [ebp - 0x15f0], 1
mov eax, dword [ebp - 0x15f0]
mov dword [ebp - 0x15f4], eax
cmp dword [ebp - 0x15f4], 0
jne 0x61515944
push edx
push eax
add esp, 4
or edx, 0x164e6
pop edx
push edx
push edx
add esp, 4
or edx, 0x45b5
or edx, 0x15f9f
add edx, 0x12d26
pop edx
push esi
xor esi, 0xb1e5
add esi, 0x164c9
pop esi
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x754], ecx
jmp 0x615159ac
push ecx
add ecx, 0x13c2c
pop ecx
push ebx
push eax
add esp, 4
sub ebx, 0x9c60
sub ebx, 0x5ac9
and ebx, 0x456b
sub ebx, 0xb142
pop ebx
push esi
push edi
add esp, 4
sub esi, 0xcca3
pop esi
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
cmp ecx, dword [ebp - 0xca8]
je 0x615159a2
mov edx, dword [ebp - 0x50c]
cmp dword [edx + 0x30], 0
jne 0x61515758
mov dword [ebp - 0x754], 0
push ebx
push edx
add esp, 4
call 0x615159be
add byte [edx + 0x4e], al
cmp eax, 0x474a3b36
add esp, 4
call 0x615159cd
add byte [ebp + 0x48], cl
xor dh, byte [ebx]
cmp dh, byte [esi]
add esp, 4
jmp 0x615159d7
and ebx, 0x6ae
pop ebx
cmp dword [ebp - 0x754], 0
jne 0x61515a28
push esi
add esi, 0x1419e
sub esi, 0x72fe
pop esi
push ebx
push eax
add esp, 4
call 0x61515a06
add byte [ebp + eax*2 + 0x3d], cl
dec ecx
dec esp
cmp eax, 0xeb04c483
pop es
inc esi
inc eax
xor esi, dword [0x814e443c]
retf
push ebx
and ebx, 0x11410
sub ebx, 0x55f8
xor ebx, 0x2f18
or ebx, 0x467f
pop ebx
push edi
push esi
add esp, 4
and edi, 0x1e17
sub edi, 0x5e00
add edi, 0x13c53
pop edi
mov eax, dword [ebp - 0x754]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x320], ecx
mov dword [ebp - 0x764], 0
mov edx, dword [ebp - 0x320]
mov dword [ebp - 0x15f8], edx
cmp dword [ebp - 0x15f8], 0
jne 0x61515a99
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], eax
jmp 0x61515d8a
mov ecx, dword [ebp - 0x15f8]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x15fc], edx
jne 0x61515ac1
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], eax
jmp 0x61515d8a
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x15fc]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1600], ecx
cmp dword [ebp - 0x1600], 0
jne 0x61515af3
mov edx, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], edx
jmp 0x61515d8a
mov eax, dword [ebp - 0x320]
add eax, dword [ebp - 0x1600]
mov dword [ebp - 0x758], eax
jne 0x61515b18
mov ecx, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], ecx
jmp 0x61515d8a
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1970], eax
mov ecx, dword [ebp - 0x758]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x1974], edx
mov eax, dword [ebp - 0x758]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1978], ecx
mov dword [ebp - 0x75c], 0
jmp 0x61515b72
mov edx, dword [ebp - 0x75c]
add edx, 1
mov dword [ebp - 0x75c], edx
mov eax, dword [ebp - 0x758]
mov ecx, dword [ebp - 0x75c]
cmp ecx, dword [eax + 0x18]
jae 0x61515d7e
mov edx, dword [ebp - 0x75c]
mov eax, dword [ebp - 0x1970]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x760], ecx
mov edx, dword [ebp - 0x75c]
mov eax, dword [ebp - 0x1974]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1978]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x197c], eax
mov dword [ebp - 0x194], 0
jmp 0x61515be2
mov ecx, dword [ebp - 0x194]
add ecx, 1
mov dword [ebp - 0x194], ecx
mov edx, dword [ebp - 0x760]
add edx, dword [ebp - 0x194]
movsx eax, byte [edx]
test eax, eax
je 0x61515c94
mov ecx, dword [ebp - 0x194]
movsx edx, byte [ebp + ecx - 0x898]
test edx, edx
je 0x61515c94
push edi
push edx
add esp, 4
or edi, 0x15525
jmp 0x61515c1f
pop edi
push edx
push esi
add esp, 4
or edx, 0x16900
jmp 0x61515c34
xor edx, 0x18483
and edx, 0x175c0
pop edx
mov eax, dword [ebp - 0x760]
add eax, dword [ebp - 0x194]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x194]
movsx eax, byte [ebp + edx - 0x898]
cmp ecx, eax
je 0x61515c86
mov ecx, dword [ebp - 0x760]
add ecx, dword [ebp - 0x194]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x194]
movsx ecx, byte [ebp + eax - 0x898]
cmp edx, ecx
jne 0x61515c8d
jmp 0x61515bd3
jmp 0x61515c94
push ecx
push edi
add esp, 4
xor ecx, 0x160d
or ecx, 0x1044a
add ecx, 0xaa8b
xor ecx, 0x138f0
pop ecx
push edx
and edx, 0x614e
or edx, 0xab86
and edx, 0xdb69
pop edx
mov edx, dword [ebp - 0x760]
add edx, dword [ebp - 0x194]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x194]
movsx edx, byte [ebp + ecx - 0x898]
cmp eax, edx
jne 0x61515cf3
mov dword [ebp - 0xcac], 0
jmp 0x61515d62
push edi
push esi
add esp, 4
add edi, 0x27f6
jmp 0x61515d07
pop edi
push edx
push edi
add esp, 4
jmp 0x61515d12
xor edx, 0x178c2
pop edx
push eax
push edx
add esp, 4
jmp 0x61515d24
pop eax
mov eax, dword [ebp - 0x760]
add eax, dword [ebp - 0x194]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x194]
movsx eax, byte [ebp + edx - 0x898]
or eax, 0x20
cmp ecx, eax
jge 0x61515d58
mov dword [ebp - 0xcac], 0xffffffff
jmp 0x61515d62
mov dword [ebp - 0xcac], 1
cmp dword [ebp - 0xcac], 0
jne 0x61515d79
mov ecx, dword [ebp - 0x197c]
mov dword [ebp - 0x3f8], ecx
jmp 0x61515d8a
jmp 0x61515b63
mov edx, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], edx
cmp dword [ebp - 0x3f8], 0
je 0x61515e65
push eax
push ebx
add esp, 4
or eax, 0x9ded
pop eax
push edi
push eax
add esp, 4
and edi, 0xe5e7
xor edi, 0x665
pop edi
push ebx
add ebx, 0x13cf9
pop ebx
push ebx
push edi
add esp, 4
sub ebx, 0xa78e
pop ebx
mov eax, dword [ebp - 0x3f8]
mov dword [ebp - 0x1980], eax
push esi
push ebx
add esp, 4
and esi, 0x7547
pop esi
push edx
push ebx
add esp, 4
or edx, 0xa08a
pop edx
push eax
add eax, 0x777
pop eax
push eax
push edx
add esp, 4
sub eax, 0x9061
or eax, 0x7dc4
pop eax
mov ecx, dword [ebp - 0x1980]
mov dword [ebp - 0x1984], ecx
lea edx, [ebp - 0x1740]
push edx
call dword [ebp - 0x1984]
test eax, eax
jne 0x61515e65
push esi
push edx
add esp, 4
and esi, 0x14b0
add esi, 0xe54d
sub esi, 0x14478
pop esi
push ecx
or ecx, 0x13766
call 0x61515e52
add byte [esi], bh
cmp al, 0x50
inc ebx
inc ebp
push eax
inc ebp
dec ecx
xor al, 0x83
les eax, [ecx + ebx*2]
mov dword [ebp - 0x7a0], 0
jmp 0x6151654f
push ecx
push edx
add esp, 4
or ecx, 0x1528d
sub ecx, 0x151c3
xor ecx, 0x1309f
pop ecx
push eax
push ebx
add esp, 4
sub eax, 0xf77b
or eax, 0x15ba4
pop eax
push eax
add eax, 0x5b1f
pop eax
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1988], eax
mov ecx, dword [ebp - 0x1988]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x198c], edx
mov eax, dword [ebp - 0x198c]
mov dword [ebp - 0x1604], eax
push edi
push edi
add esp, 4
and edi, 0x59b7
jmp 0x61515ed0
call 0x61515edc
add byte [0x364c393e], dh
xor al, 0x83
les eax, [eax + ebp*8]
or byte [eax], al
add byte [eax], al
add byte [ebx + 0x47], al
dec esi
dec esi
inc esp
aas
cmp al, byte [ebx - 0x7ca0fb3c]
mov ebp, 0xffffe9fc
add byte [ebp + 0xf], dh
mov dword [ebp - 0x2d4], 0
jmp 0x615161af
push ecx
jmp 0x615161b8
pop ecx
push ebx
xor ebx, 0x7e1d
xor ebx, 0x10d58
pop ebx
push esi
push ebx
add esp, 4
xor esi, 0x1764f
jmp 0x615161da
or esi, 0x1192
pop esi
mov eax, dword [ebp - 0x2d4]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x324], ecx
push edx
call 0x61516201
add byte [esi + 0x38], al
dec eax
xor esi, dword [edi + ecx*2]
dec edi
xor bh, byte [eax]
add esp, 4
jmp 0x6151620d
xor edx, 0x91ab