Function at 0x6a50e324
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x34
mov eax, dword [esp + 0x50]
mov cx, word [eax]
mov dx, word [eax + 0x10]
lea ebx, [edx + ecx]
mov word [eax], bx
sub ecx, edx
mov word [eax + 0x10], cx
mov cx, word [eax + 2]
mov dx, word [eax + 0x12]
lea ebx, [edx + ecx]
mov word [eax + 2], bx
sub ecx, edx
mov word [eax + 0x12], cx
mov cx, word [eax + 4]
mov dx, word [eax + 0x14]
lea ebx, [edx + ecx]
mov word [eax + 4], bx
sub ecx, edx
mov word [eax + 0x14], cx
mov cx, word [eax + 6]
mov dx, word [eax + 0x16]
lea ebx, [edx + ecx]
mov word [eax + 6], bx
sub ecx, edx
mov word [eax + 0x16], cx
mov cx, word [eax + 8]
mov dx, word [eax + 0x18]
lea ebx, [edx + ecx]
mov word [eax + 8], bx
sub ecx, edx
mov word [eax + 0x18], cx
mov cx, word [eax + 0xa]
mov dx, word [eax + 0x1a]
lea ebx, [edx + ecx]
mov word [eax + 0xa], bx
sub ecx, edx
mov word [eax + 0x1a], cx
mov cx, word [eax + 0xc]
mov dx, word [eax + 0x1c]
lea ebx, [edx + ecx]
mov word [eax + 0xc], bx
sub ecx, edx
mov word [eax + 0x1c], cx
mov cx, word [eax + 0xe]
mov dx, word [eax + 0x1e]
lea ebx, [edx + ecx]
mov word [eax + 0xe], bx
sub ecx, edx
mov word [eax + 0x1e], cx
mov cx, word [eax + 0x20]
mov dx, word [eax + 0x30]
lea ebx, [edx + ecx]
mov word [eax + 0x20], bx
sub ecx, edx
mov word [eax + 0x30], cx
mov cx, word [eax + 0x22]
mov dx, word [eax + 0x32]
lea ebx, [edx + ecx]
mov word [eax + 0x22], bx
sub ecx, edx
mov word [eax + 0x32], cx
mov cx, word [eax + 0x24]
mov dx, word [eax + 0x34]
lea ebx, [edx + ecx]
mov word [eax + 0x24], bx
sub ecx, edx
mov word [eax + 0x34], cx
mov cx, word [eax + 0x26]
mov dx, word [eax + 0x36]
lea ebx, [edx + ecx]
mov word [eax + 0x26], bx
sub ecx, edx
mov word [eax + 0x36], cx
mov cx, word [eax + 0x28]
mov dx, word [eax + 0x38]
lea ebx, [edx + ecx]
mov word [eax + 0x28], bx
sub ecx, edx
mov word [eax + 0x38], cx
mov cx, word [eax + 0x2a]
mov dx, word [eax + 0x3a]
lea ebx, [edx + ecx]
mov word [eax + 0x2a], bx
sub ecx, edx
mov word [eax + 0x3a], cx
mov cx, word [eax + 0x2c]
mov dx, word [eax + 0x3c]
lea ebx, [edx + ecx]
mov word [eax + 0x2c], bx
sub ecx, edx
mov word [eax + 0x3c], cx
mov cx, word [eax + 0x2e]
mov dx, word [eax + 0x3e]
lea ebx, [edx + ecx]
mov word [eax + 0x2e], bx
sub ecx, edx
mov word [eax + 0x3e], cx
mov cx, word [eax + 0x40]
mov dx, word [eax + 0x50]
lea ebx, [edx + ecx]
mov word [eax + 0x40], bx
sub ecx, edx
mov word [eax + 0x50], cx
mov cx, word [eax + 0x42]
mov dx, word [eax + 0x52]
lea ebx, [edx + ecx]
mov word [eax + 0x42], bx
sub ecx, edx
mov word [eax + 0x52], cx
mov cx, word [eax + 0x44]
mov dx, word [eax + 0x54]
lea ebx, [edx + ecx]
mov word [eax + 0x44], bx
sub ecx, edx
mov word [eax + 0x54], cx
mov cx, word [eax + 0x46]
mov dx, word [eax + 0x56]
lea ebx, [edx + ecx]
mov word [eax + 0x46], bx
sub ecx, edx
mov word [eax + 0x56], cx
mov cx, word [eax + 0x48]
mov dx, word [eax + 0x58]
lea ebx, [edx + ecx]
mov word [eax + 0x48], bx
sub ecx, edx
mov word [eax + 0x58], cx
mov cx, word [eax + 0x4a]
mov dx, word [eax + 0x5a]
lea ebx, [edx + ecx]
mov word [eax + 0x4a], bx
sub ecx, edx
mov word [eax + 0x5a], cx
mov cx, word [eax + 0x4c]
mov dx, word [eax + 0x5c]
lea ebx, [edx + ecx]
mov word [eax + 0x4c], bx
sub ecx, edx
mov word [eax + 0x5c], cx
mov cx, word [eax + 0x4e]
mov dx, word [eax + 0x5e]
lea ebx, [edx + ecx]
mov word [eax + 0x4e], bx
sub ecx, edx
mov word [eax + 0x5e], cx
mov cx, word [eax + 0x60]
mov dx, word [eax + 0x70]
lea ebx, [edx + ecx]
mov word [eax + 0x60], bx
sub ecx, edx
mov word [eax + 0x70], cx
mov cx, word [eax + 0x62]
mov dx, word [eax + 0x72]
lea ebx, [edx + ecx]
mov word [eax + 0x62], bx
sub ecx, edx
mov word [eax + 0x72], cx
mov cx, word [eax + 0x64]
mov dx, word [eax + 0x74]
lea ebx, [edx + ecx]
mov word [eax + 0x64], bx
sub ecx, edx
mov word [eax + 0x74], cx
mov cx, word [eax + 0x66]
mov dx, word [eax + 0x76]
lea ebx, [edx + ecx]
mov word [eax + 0x66], bx
sub ecx, edx
mov word [eax + 0x76], cx
mov cx, word [eax + 0x68]
mov dx, word [eax + 0x78]
lea ebx, [edx + ecx]
mov word [eax + 0x68], bx
sub ecx, edx
mov word [eax + 0x78], cx
mov cx, word [eax + 0x6a]
mov dx, word [eax + 0x7a]
lea ebx, [edx + ecx]
mov word [eax + 0x6a], bx
sub ecx, edx
mov word [eax + 0x7a], cx
mov cx, word [eax + 0x6c]
mov dx, word [eax + 0x7c]
lea ebx, [edx + ecx]
mov word [eax + 0x6c], bx
sub ecx, edx
mov word [eax + 0x7c], cx
mov cx, word [eax + 0x6e]
mov dx, word [eax + 0x7e]
lea ebx, [edx + ecx]
mov word [eax + 0x6e], bx
sub ecx, edx
mov word [eax + 0x7e], cx
mov dword [esp + 0x2c], eax
sub eax, 0xffffff80
mov dword [esp + 0x28], eax
mov esi, dword [esp + 0x2c]
jmp 0x6a50e60a
movsx eax, word [esi]
shl eax, 3
and eax, 0xffff
mov edx, eax
shl edx, 0x10
add eax, edx
mov dword [esi + 0xc], eax
mov dword [esi + 8], eax
mov dword [esi + 4], eax
mov dword [esi], eax
add esi, 0x10
cmp esi, dword [esp + 0x28]
je 0x6a50e8cb
mov edx, dword [esi + 8]
or edx, dword [esi + 4]
or edx, dword [esi + 0xc]
movsx eax, word [esi + 2]
or edx, eax
je 0x6a50e5e0
movsx edx, word [esi]
mov ebx, edx
shl ebx, 0xe
sub ebx, edx
add ebx, 0x400
movsx edx, word [esi + 4]
lea ecx, [edx + edx*2]
shl ecx, 6
sub ecx, edx
lea edi, [edx + ecx*8]
lea ecx, [edi*8]
sub ecx, edi
lea ebp, [edx + ecx*2]
lea ecx, [ebx + ebp]
mov dword [esp + 0x10], ecx
lea ecx, [edx + edx*8]
shl ecx, 4
sub ecx, edx
mov edi, ecx
shl edi, 5
sub edi, ecx
lea edx, [edx + edi*2]
lea edi, [ebx + edx]
mov dword [esp + 0x14], edi
mov ecx, ebx
sub ecx, edx
mov dword [esp + 0x18], ecx
sub ebx, ebp
mov dword [esp + 0x20], ebx
lea ebx, [eax + eax*8]
lea edx, [ebx*8]
sub edx, eax
lea edx, [edx + edx*4]
shl edx, 4
add edx, eax
lea ebp, [eax + edx*4]
movsx edx, word [esi + 6]
lea edi, [edx + edx*8]
lea ecx, [edx + edi*4]
lea ecx, [edx + ecx*2]
lea ecx, [edx + ecx*4]
shl ecx, 5
add ecx, edx
lea ecx, [ebp + ecx*2]
mov dword [esp + 0x1c], ecx
lea ecx, [eax + ebx*4]
lea ecx, [eax + ecx*2]
lea ebp, [eax + ecx*4]
shl ebp, 5
add ebp, eax
lea ecx, [edx + edx*4]
lea ebx, [ecx*8]
sub ebx, ecx
lea ebx, [edx + ebx*4]
lea ebx, [edx + ebx*4]
shl ebx, 3
neg ebx
lea ebx, [ebx + ebp*2]
mov dword [esp + 8], ebx
lea ebx, [eax + eax*4]
lea ebp, [ebx + ebx*4]
lea ebp, [eax + ebp*8]
lea ebp, [eax + ebp*8]
lea ebp, [eax + ebp*8]
shl edi, 3
sub edi, edx
lea edi, [edi + edi*4]
shl edi, 4
add edi, edx
lea edi, [edx + edi*4]
sub ebp, edi
lea edi, [ebx*8]
sub edi, ebx
lea ebx, [eax + edi*4]
lea eax, [eax + ebx*4]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
lea ecx, [edx + ecx*8]
lea edx, [edx + ecx*8]
neg edx
lea edx, [edx + eax*8]
mov dword [esp + 0xc], edx
mov eax, dword [esi + 0xc]
or eax, dword [esi + 8]
je 0x6a50e84b
movsx eax, word [esi + 8]
mov edx, eax
shl edx, 0xe
sub edx, eax
movsx eax, word [esi + 0xc]
lea ecx, [eax + eax*8]
shl ecx, 4
sub ecx, eax
mov ebx, ecx
shl ebx, 5
sub ebx, ecx
lea ebx, [eax + ebx*2]
lea ecx, [edx + ebx]
add dword [esp + 0x10], ecx
mov edi, edx
neg edi
mov dword [esp + 0x24], edi
lea ecx, [eax + eax*2]
shl ecx, 6
sub ecx, eax
lea edi, [eax + ecx*8]
lea ecx, [edi*8]
sub ecx, edi
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x24]
sub ecx, eax
add dword [esp + 0x14], ecx
mov edi, dword [esp + 0x24]
add edi, eax
add dword [esp + 0x18], edi
sub edx, ebx
add dword [esp + 0x20], edx
movsx edx, word [esi + 0xa]
lea eax, [edx + edx*4]
mov dword [esp + 4], eax
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
lea eax, [edx + eax*8]
lea eax, [edx + eax*8]
add eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
movsx eax, word [esi + 0xe]
lea ebx, [eax + eax*4]
lea edi, [ebx*8]
sub edi, ebx
lea edi, [eax + edi*4]
lea edi, [eax + edi*4]
mov ecx, dword [esp + 0x1c]
lea ecx, [ecx + edi*8]
mov dword [esp + 0x1c], ecx
lea edi, [edx + edx*8]
mov dword [esp + 0x24], edi
shl edi, 3
sub edi, edx
lea edi, [edi + edi*4]
shl edi, 4
add edi, edx
lea edi, [edx + edi*4]
sub dword [esp + 8], edi
lea ebx, [ebx + ebx*4]
lea ebx, [eax + ebx*8]
lea ebx, [eax + ebx*8]
lea ebx, [eax + ebx*8]
sub dword [esp + 8], ebx
mov ebx, dword [esp + 4]
shl ebx, 3
sub ebx, dword [esp + 4]
lea ecx, [edx + ebx*4]
lea ecx, [edx + ecx*4]
lea edi, [ebp + ecx*8]
lea ebx, [eax + eax*8]
lea ecx, [eax + ebx*4]
lea ecx, [eax + ecx*2]
lea ecx, [eax + ecx*4]
shl ecx, 5
add ecx, eax
lea ebp, [edi + ecx*2]
mov edi, dword [esp + 0x24]
lea ecx, [edx + edi*4]
lea ecx, [edx + ecx*2]
lea ecx, [edx + ecx*4]
shl ecx, 5
add edx, ecx
mov ecx, dword [esp + 0xc]
lea ecx, [ecx + edx*2]
mov dword [esp + 0xc], ecx
shl ebx, 3
sub ebx, eax
lea edx, [ebx + ebx*4]
shl edx, 4
add edx, eax
lea eax, [eax + edx*4]
sub dword [esp + 0xc], eax
mov eax, dword [esp + 0x10]
add eax, dword [esp + 0x1c]
sar eax, 0xb
mov word [esi], ax
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 0x1c]
sar eax, 0xb
mov word [esi + 0xe], ax
mov eax, dword [esp + 0x14]
add eax, dword [esp + 8]
sar eax, 0xb
mov word [esi + 2], ax
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 8]
sar eax, 0xb
mov word [esi + 0xc], ax
mov eax, dword [esp + 0x18]
add eax, ebp
sar eax, 0xb
mov word [esi + 4], ax
mov eax, dword [esp + 0x18]
sub eax, ebp
sar eax, 0xb
mov word [esi + 0xa], ax
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0xc]
sar eax, 0xb
mov word [esi + 6], ax
mov ebx, dword [esp + 0x20]
sub ebx, dword [esp + 0xc]
sar ebx, 0xb
mov word [esi + 8], bx
add esi, 0x10
cmp esi, dword [esp + 0x28]
jne 0x6a50e60a
mov ebx, dword [esp + 0x4c]
shl ebx, 1
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x48]
add ebp, ebx
mov edi, dword [esp + 0x48]
lea edi, [edi + ebx + 8]
mov dword [esp + 0x20], edi
neg ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x2c]
lea esi, [esi]
movsx ebx, word [ebp]
movsx edx, word [ebp + 0x20]
movsx ecx, word [ebp + 0x40]
movsx eax, word [ebp + 0x60]
lea esi, [ebx + ecx]
shl esi, 0xb
add esi, 0x10000
mov dword [esp + 0x10], esi
sub ebx, ecx
shl ebx, 0xb
add ebx, 0x10000
mov dword [esp + 0x14], ebx
lea esi, [edx + edx*4]
lea ecx, [edx + esi*4]
shl ecx, 3
sub ecx, edx
lea ecx, [edx + ecx*4]
mov dword [esp + 0x18], ecx
lea ebx, [eax + eax*4]
lea edi, [eax + ebx*8]
lea ecx, [edi*4]
sub ecx, edi
lea ecx, [ecx + ecx*8]
lea edi, [ecx + eax]
mov ecx, dword [esp + 0x18]
lea edi, [edi + ecx*4]
lea esi, [edx + esi*8]
lea ecx, [esi*4]
sub ecx, esi
lea ecx, [ecx + ecx*8]
add edx, ecx
lea ecx, [eax + ebx*4]
shl ecx, 3
sub ecx, eax
lea eax, [eax + ecx*4]
shl eax, 2
sub edx, eax
mov eax, dword [esp + 0x10]
add eax, edi
sar eax, 0x11
test eax, 0xffffff00
je 0x6a50e98b
neg eax
sar eax, 0x1f
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x1c]
mov byte [ecx + ebx], al
mov eax, dword [esp + 0x14]
add eax, edx
sar eax, 0x11
test eax, 0xffffff00
je 0x6a50e9ab
neg eax
sar eax, 0x1f
mov ebx, dword [esp + 8]
mov byte [ebx], al
mov eax, dword [esp + 0x14]
sub eax, edx
sar eax, 0x11
test eax, 0xffffff00
je 0x6a50e9c6
neg eax
sar eax, 0x1f
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov byte [ecx + edx], al
mov eax, dword [esp + 0x10]
sub eax, edi
sar eax, 0x11
test eax, 0xffffff00
je 0x6a50e9e6
neg eax
sar eax, 0x1f
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 8]
mov byte [edi + ebx*2], al
movsx ebx, word [ebp + 0x10]
movsx edx, word [ebp + 0x30]
movsx ecx, word [ebp + 0x50]
movsx eax, word [ebp + 0x70]
lea esi, [ebx + ecx]
shl esi, 0xb
add esi, 0x10000
mov dword [esp + 0x10], esi
sub ebx, ecx
shl ebx, 0xb
add ebx, 0x10000
mov dword [esp + 0x14], ebx
lea esi, [edx + edx*4]
lea ecx, [edx + esi*4]
shl ecx, 3
sub ecx, edx
lea ecx, [edx + ecx*4]
mov dword [esp + 0x18], ecx
lea ebx, [eax + eax*4]
lea edi, [eax + ebx*8]
lea ecx, [edi*4]
sub ecx, edi
lea ecx, [ecx + ecx*8]
lea edi, [ecx + eax]
mov ecx, dword [esp + 0x18]
lea edi, [edi + ecx*4]
lea esi, [edx + esi*8]
lea ecx, [esi*4]
sub ecx, esi
lea ecx, [ecx + ecx*8]
add edx, ecx
lea ecx, [eax + ebx*4]
shl ecx, 3
sub ecx, eax
lea eax, [eax + ecx*4]
shl eax, 2
sub edx, eax
mov ecx, dword [esp + 0x10]
add ecx, edi
sar ecx, 0x11
test ecx, 0xffffff00
je 0x6a50ea85
neg ecx
sar ecx, 0x1f
mov eax, dword [esp + 8]
sub eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x4c]
mov byte [eax + ebx], cl
mov eax, dword [esp + 0x14]
add eax, edx
sar eax, 0x11
test eax, 0xffffff00
je 0x6a50eaa9
neg eax
sar eax, 0x1f
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0x4c]
mov byte [ebx + ecx], al
mov eax, dword [esp + 0x14]
sub eax, edx
mov edx, eax
sar edx, 0x11
test edx, 0xffffff00
je 0x6a50eacc
neg edx
sar edx, 0x1f
mov eax, dword [esp + 0x4c]
add eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov byte [eax + ecx], dl
mov edx, dword [esp + 0x10]
sub edx, edi
sar edx, 0x11
test edx, 0xffffff00
je 0x6a50eaf1
neg edx
sar edx, 0x1f
mov ebx, dword [esp + 0xc]
mov byte [eax + ebx*2], dl
add ebp, 2
inc dword [esp + 8]
mov edi, dword [esp + 0x20]
cmp dword [esp + 8], edi
jne 0x6a50e8f8
add esp, 0x34
pop ebx
pop esi
pop edi
pop ebp
ret