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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x220
mov dword [esp + 0x2c], eax
mov dword [esp + 0x74], ecx
lea ecx, [edx*4]
lea eax, [ecx*8]
sub eax, ecx
mov ecx, dword [esp + 0x2c]
lea eax, [ecx + eax + 0x14a0]
mov dword [esp + 0x78], eax
mov ebx, dword [eax + 0xc]
mov dword [esp + 0x48], ebx
lea eax, [edx + edx*2]
shl eax, 4
mov eax, dword [ecx + eax + 0x748]
mov dword [esp + 0x70], eax
mov ebp, dword [esp + 0x78]
mov ebp, dword [ebp]
mov dword [esp + 0x5c], ebp
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 4]
mov dword [esp + 0x6c], eax
xor edx, edx
mov esi, dword [esp + 0x74]
test esi, esi
sete dl
mov dword [esp + 0x44], edx
mov ebx, dword [esp + 0x78]
mov eax, dword [ebx + 0x14]
movsx eax, byte [eax]
mov dword [esp + 0x50], eax
mov ebp, dword [ecx + 0x1b78]
mov ecx, dword [esp + 0x74]
imul ebp, dword [ecx*4 + 0x6ac56160]
mov dword [esp + 0x24], ebp
mov ebx, dword [esp + 0x2c]
mov eax, dword [ebx + 0x17d8]
cmp byte [eax + 2], 0
jne 0x6a874489
lea ebp, [ebp + ebp*8]
sar ebp, 4
mov dword [esp + 0x24], ebp
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x1b74]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov edx, dword [esp + 0x50]
lea eax, [edx + edx*2]
lea eax, [esp + eax*8 + 0x220]
lea esi, [eax - 0x198]
mov dword [eax - 0x198], 0
mov dword [eax - 0x194], 0
mov byte [eax - 0x190], 0x10
mov byte [eax - 0x18f], 0xb
mov word [eax - 0x18e], 0
sub eax, 0x18c
mov ecx, 3
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
lea eax, [edx + edx*2 - 3]
lea eax, [esp + eax*8 + 0x9d]
mov dword [esp + 8], eax
mov eax, edx
mov dword [esp + 0x68], 0
mov ecx, dword [esp + 0x74]
lea ecx, [ecx + ecx*8]
shl ecx, 5
mov dword [esp + 0x30], ecx
jmp 0x6a87489b
lea ebx, [edx + edx*2]
lea esi, [esp + ebx*8 + 0x220]
mov edi, dword [esi - 0x194]
mov dword [esp + 0x34], edi
mov ebp, dword [esi - 0x188]
mov dword [esp + 0x38], ebp
lea ebp, [esi - 0x198]
mov ebx, dword [esi - 0x198]
mov dword [esp + 0x14], ebx
lea edi, [esi - 0x18c]
mov dword [esp + 0x1c], edi
mov esi, dword [esi - 0x18c]
mov dword [esp + 0x18], esi
mov ebx, dword [esp + 0xc]
mov esi, dword [0x6ac56644]
mov bx, word [esi + ebx*4]
mov word [esp + 0x28], bx
cmp edx, 0xf
jg 0x6a8745e9
mov edi, dword [esp + 0x10]
movzx esi, byte [edi + 0x6ac54c11]
movsx edi, bx
movzx edi, byte [edi + 0x6ac54c00]
movsx ebp, byte [ebp + 9]
lea edi, [edi + edi*2]
lea esi, [esi + esi*8]
lea esi, [edi + esi]
mov ebx, dword [esp + 0x30]
lea esi, [ebx + esi*4]
lea edi, [ebp + esi + 0x1f0c]
mov ebp, dword [esp + 0x2c]
mov ebp, dword [ebp + edi*4 + 8]
add dword [esp + 0x14], ebp
mov edi, dword [esp + 0x1c]
movsx ebx, byte [edi + 9]
lea ebx, [esi + ebx + 0x1f0c]
mov ebp, dword [esp + 0x2c]
mov ebp, dword [ebp + ebx*4 + 8]
add dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x14]
imul ebp, dword [esp + 0x24]
sub ebp, 0xffffff80
mov ebx, dword [esp + 0x4c]
imul ebx, dword [esp + 0x34]
mov dword [esp + 0x3c], ebx
mov ebx, ebp
sar ebx, 8
add ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x18]
imul edi, dword [esp + 0x24]
sub edi, 0xffffff80
mov esi, dword [esp + 0x4c]
imul esi, dword [esp + 0x38]
mov dword [esp + 0x40], esi
mov esi, edi
sar esi, 8
add esi, dword [esp + 0x40]
cmp ebx, esi
je 0x6a8749c0
cmp esi, ebx
setl bl
movzx ebx, bl
mov dword [esp + 0x64], ebx
mov esi, dword [esp + 0xc]
mov ebp, dword [0x6ac56640]
movsx edi, word [ebp + esi*2]
mov ebx, dword [esp + 0x70]
movsx ebp, word [ebx + eax]
mov ebx, dword [esp + 0x6c]
movsx ebx, word [ebx + eax]
sub ebx, ebp
mov dword [esp + 0x1c], ebx
imul ebx, ebx
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x64]
test ebx, ebx
je 0x6a87498c
mov ebx, dword [esp + 0x18]
add ebx, edi
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 8]
mov dword [edi - 0x15], ebx
add esi, dword [esp + 0x20]
mov dword [edi - 0x11], esi
mov byte [esp + 0x63], dl
mov byte [edi - 0xd], dl
mov bl, byte [esp + 0x28]
mov byte [edi - 0xc], bl
mov word [edi - 0xb], cx
mov ebx, dword [esp + 0x64]
mov cl, byte [esp + 0x10]
shl ebx, cl
or dword [esp + 0x54], ebx
lea ecx, [edx + edx*2]
lea ecx, [esp + ecx*8 + 0x220]
mov edi, dword [ecx - 0x198]
mov esi, dword [ecx - 0x18c]
mov ebx, dword [esp + 0x48]
movsx eax, word [ebx + eax]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xc]
test eax, eax
js 0x6a8749ec
imul eax, dword [esp + 0x14]
test ebp, ebp
js 0x6a8749e4
cmp eax, ebp
jle 0x6a874968
add ebp, dword [esp + 0x14]
cmp eax, ebp
jge 0x6a874968
mov eax, dword [esp + 0xc]
sar eax, 0x1f
mov dword [esp + 0x68], eax
shl eax, 1
not eax
add dword [esp + 0xc], eax
jne 0x6a874b93
lea eax, [edx + edx*2]
cmp byte [esp + eax*8 + 0x91], 0xb
je 0x6a874a04
mov dword [esp + 0x28], 0
lea eax, [edx + edx*2]
cmp byte [esp + eax*8 + 0x9d], 0xb
mov dword [esp + 0x64], 0
mov ebp, 1
je 0x6a8749f4
mov dword [esp + 0x18], 0
cmp edx, 0xf
jg 0x6a8747f2
mov ecx, dword [esp + 0x10]
movzx eax, byte [ecx + 0x6ac54c11]
cmp dword [esp + 0x28], 0xb
je 0x6a8747b6
mov ecx, dword [esp + 0x28]
movzx ebx, byte [ecx + 0x6ac54c00]
lea ecx, [edx + edx*2]
movsx ecx, byte [esp + ecx*8 + 0x91]
mov dword [esp], ecx
lea ebx, [ebx + ebx*2]
mov dword [esp + 0x7c], ebx
lea ebx, [eax + eax*8]
mov ecx, dword [esp + 0x7c]
lea ebx, [ecx + ebx]
mov ecx, dword [esp + 0x30]
lea ebx, [ecx + ebx*4]
mov ecx, dword [esp]
lea ebx, [ecx + ebx + 0x1f0c]
mov ecx, dword [esp + 0x2c]
add edi, dword [ecx + ebx*4 + 8]
cmp dword [esp + 0x18], 0xb
je 0x6a8747f2
mov ebx, dword [esp + 0x18]
movzx ecx, byte [ebx + 0x6ac54c00]
lea edx, [edx + edx*2]
movsx edx, byte [esp + edx*8 + 0x9d]
lea ecx, [ecx + ecx*2]
lea eax, [eax + eax*8]
lea eax, [ecx + eax]
mov ebx, dword [esp + 0x30]
lea eax, [ebx + eax*4]
lea eax, [edx + eax + 0x1f0c]
mov edx, dword [esp + 0x2c]
add esi, dword [edx + eax*4 + 8]
mov ebx, dword [esp + 0x24]
imul ebx, edi
sub ebx, 0xffffff80
mov eax, ebx
sar eax, 8
add eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x24]
imul ecx, esi
sub ecx, 0xffffff80
mov edx, ecx
sar edx, 8
add edx, dword [esp + 0x40]
cmp eax, edx
je 0x6a8749d8
cmp edx, eax
setl al
movzx eax, al
mov ecx, dword [esp + 0x64]
mov ebx, dword [0x6ac56640]
movsx edx, word [ebx + ecx*2]
test ebp, ebp
je 0x6a874853
mov ecx, dword [esp + 0x68]
add ecx, dword [esp + 0x14]
xor ecx, dword [esp + 0x68]
mov ebp, dword [esp + 0x1c]
sub ebp, ecx
imul ebp, ebp
mov dword [esp + 0x20], ebp
test eax, eax
je 0x6a87499c
add edx, esi
mov ebx, dword [esp + 8]
mov dword [ebx - 9], edx
mov edx, dword [esp + 0x20]
add edx, dword [esp + 0x38]
mov dword [ebx - 5], edx
mov dl, byte [esp + 0x63]
mov byte [ebx - 1], dl
mov dl, byte [esp + 0x18]
mov byte [ebx], dl
mov esi, dword [esp + 0xc]
mov word [ebx + 1], si
mov cl, byte [esp + 0x10]
shl eax, cl
or dword [esp + 0x58], eax
mov edx, dword [esp + 0x10]
sub dword [esp + 8], 0x18
mov eax, dword [esp + 0x10]
lea ecx, [eax - 1]
mov dword [esp + 0x10], ecx
cmp dword [esp + 0x44], eax
jge 0x6a874a14
mov ecx, dword [ecx*4 + 0x6ac54bc0]
mov eax, ecx
shl eax, 1
mov ebx, dword [esp + 0x5c]
mov cx, word [ebx + eax]
movsx esi, cx
mov dword [esp + 0xc], esi
test esi, esi
jne 0x6a874538
mov ebx, dword [esp + 0x10]
movzx ecx, byte [ebx + 0x6ac54c11]
lea eax, [edx + edx*2]
lea eax, [esp + eax*8 + 0x220]
movsx edi, byte [eax - 0x18f]
movsx ebp, byte [eax - 0x183]
mov dword [esp + 0x14], ebp
cmp edi, 0xb
je 0x6a874921
lea ebx, [ecx + ecx*8]
mov ebp, dword [esp + 0x30]
lea ebp, [ebp + ebx*4]
lea edi, [edi + ebp + 0x1f0c]
mov ebx, dword [esp + 0x2c]
mov edi, dword [ebx + edi*4 + 8]
add dword [eax - 0x198], edi
mov byte [eax - 0x18f], 0
cmp dword [esp + 0x14], 0xb
je 0x6a874892
lea eax, [edx + edx*2]
lea eax, [esp + eax*8 + 0x220]
lea ecx, [ecx + ecx*8]
mov esi, dword [esp + 0x30]
lea ecx, [esi + ecx*4]
mov edi, dword [esp + 0x14]
lea ecx, [edi + ecx + 0x1f0c]
mov ebp, dword [esp + 0x2c]
mov ecx, dword [ebp + ecx*4 + 8]
add dword [eax - 0x18c], ecx
mov byte [eax - 0x183], 0
jmp 0x6a874892
xor ebp, ebp
mov eax, dword [esp + 0xc]
mov dword [esp + 0x64], eax
mov ebx, dword [0x6ac56644]
movsx ebx, word [ebx + eax*4]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x28], ebx
jmp 0x6a874758
mov ebx, dword [esp + 0x14]
add ebx, edi
mov esi, dword [esp + 0x34]
jmp 0x6a874683
add edx, edi
mov ebx, dword [esp + 8]
mov dword [ebx - 9], edx
mov edx, dword [esp + 0x20]
add edx, dword [esp + 0x34]
mov dword [ebx - 5], edx
mov dl, byte [esp + 0x63]
mov byte [ebx - 1], dl
mov dl, byte [esp + 0x28]
jmp 0x6a87487a
mov ebx, ebp
and ebx, 0xff
mov esi, edi
and esi, 0xff
jmp 0x6a874635
movzx eax, bl
movzx edx, cl
jmp 0x6a874820
neg ebp
jmp 0x6a8746ec
neg eax
jmp 0x6a8746df
mov dword [esp + 0x18], 0xb
jmp 0x6a874758
mov dword [esp + 0x28], 0xb
jmp 0x6a874732
mov edi, edx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x80], ebx
mov esi, dword [esp + 0x58]
mov dword [esp + 0x84], esi
movzx edx, byte [eax + 0x6ac54c10]
mov ebp, dword [esp + 0x234]
movsx ebx, byte [ebp]
mov ebp, dword [esp + 0x238]
movsx eax, byte [ebp]
add ebx, eax
lea eax, [edi + edi*2]
lea eax, [esp + eax*8 + 0x220]
movsx ecx, byte [eax - 0x18f]
lea ebx, [ebx + ebx*2]
lea edx, [edx + edx*8]
add ebx, edx
mov esi, dword [esp + 0x74]
lea edx, [esi + esi*8]
shl edx, 5
lea edx, [edx + ebx*4]
lea ecx, [ecx + edx + 0x1f0c]
mov ebp, dword [esp + 0x2c]
mov ecx, dword [ebp + ecx*4 + 8]
add ecx, dword [eax - 0x198]
movsx ebx, byte [eax - 0x183]
lea edx, [edx + ebx + 0x1f0c]
mov edx, dword [ebp + edx*4 + 8]
add edx, dword [eax - 0x18c]
imul ecx, dword [esp + 0x24]
sub ecx, 0xffffff80
mov esi, ecx
sar esi, 8
mov ebx, dword [esp + 0x4c]
imul ebx, dword [eax - 0x194]
add ebx, esi
imul edx, dword [esp + 0x24]
sub edx, 0xffffff80
mov esi, edx
sar esi, 8
mov eax, dword [eax - 0x188]
imul eax, dword [esp + 0x4c]
add eax, esi
cmp ebx, eax
je 0x6a874b88
cmp eax, ebx
setl al
movzx eax, al
mov edx, dword [esp + 0x44]
dec edx
cmp dword [esp + 0x50], edi
jle 0x6a874b57
mov ecx, edi
mov edi, dword [esp + 0x6c]
nop
lea ebp, [eax + eax]
add ebp, eax
lea ebx, [ecx + ecx*2]
shl ebx, 3
lea ebx, [ebx + ebp*4]
mov bp, word [esp + ebx + 0x92]
test bp, bp
je 0x6a874b11
mov edx, ecx
mov ebx, dword [ecx*4 + 0x6ac54bc0]
shl ebx, 1
mov esi, dword [esp + 0x5c]
mov word [esi + ebx], bp
mov esi, dword [esp + 0x48]
imul bp, word [esi + ebx]
mov word [edi + ebx], bp
lea ebp, [eax + eax]
add ebp, eax
lea ebx, [ecx + ecx*2]
shl ebx, 3
lea ebx, [ebx + ebp*4]
mov eax, dword [esp + eax*4 + 0x80]
shr eax, cl
and eax, 1
movsx ecx, byte [esp + ebx + 0x90]
cmp dword [esp + 0x50], ecx
jg 0x6a874af4
inc edx
cmp dword [esp + 0x44], edx
setne al
mov ebp, dword [esp + 0x238]
mov byte [ebp], al
mov ebx, dword [esp + 0x234]
mov byte [ebx], al
mov ebp, dword [esp + 0x78]
mov eax, dword [ebp + 0x14]
mov byte [eax], dl
add esp, 0x220
pop ebx
pop esi
pop edi
pop ebp
ret
movzx ebx, cl
movzx eax, dl
jmp 0x6a874ada
mov ebp, 1
jmp 0x6a87496a