Function at 0x6c3f6550
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x34
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x48]
mov dword [esp], edx
sar eax, 1
lea edx, [eax*4]
add eax, eax
sub ecx, edx
mov dword [esp + 0xc], eax
movzx eax, word [ecx]
movzx edx, word [ecx + 2]
movzx edi, word [ecx - 2]
mov dword [esp + 8], eax
movzx eax, word [ecx + 4]
mov ebx, dword [esp + 8]
mov dword [esp + 4], edx
movzx edx, word [ecx + 6]
add ebx, dword [esp + 4]
lea esi, [ebx + ebx*4]
lea ebx, [edi + eax]
lea ebx, [ebx + ebx*4]
neg ebx
lea esi, [ebx + esi*4]
movzx ebx, word [ecx - 4]
add ebx, edx
add ebx, esi
mov esi, dword [esp]
mov dword [esp + 0x30], ebx
mov dword [esi], ebx
mov esi, dword [esp + 4]
movzx ebx, word [ecx + 8]
add esi, eax
lea ebp, [esi + esi*4]
mov esi, dword [esp + 8]
add edi, ebx
add esi, edx
lea esi, [esi + esi*4]
neg esi
lea esi, [esi + ebp*4]
mov ebp, dword [esp]
add edi, esi
lea esi, [eax + edx]
add edx, ebx
lea edx, [edx + edx*4]
mov dword [ebp + 4], edi
lea ebp, [esi + esi*4]
mov esi, dword [esp + 4]
movzx edi, word [ecx + 0xa]
add esi, ebx
lea esi, [esi + esi*4]
add eax, edi
neg esi
lea esi, [esi + ebp*4]
mov ebp, dword [esp + 8]
lea eax, [eax + eax*4]
neg eax
lea eax, [eax + edx*4]
movzx edx, word [ecx + 0xc]
add ebp, edi
add esi, ebp
mov ebp, dword [esp]
add edx, dword [esp + 4]
add eax, edx
mov dword [ebp + 8], esi
mov dword [ebp + 0xc], eax
add ecx, dword [esp + 0xc]
movzx eax, word [ecx]
movzx edx, word [ecx + 2]
movzx edi, word [ecx - 2]
mov dword [esp + 8], eax
movzx eax, word [ecx + 4]
mov ebx, dword [esp + 8]
mov dword [esp + 4], edx
movzx edx, word [ecx + 6]
add ebx, dword [esp + 4]
lea esi, [ebx + ebx*4]
lea ebx, [edi + eax]
lea ebx, [ebx + ebx*4]
neg ebx
lea esi, [ebx + esi*4]
movzx ebx, word [ecx - 4]
add ebx, edx
add ebx, esi
mov esi, dword [esp + 4]
mov dword [ebp + 0x20], ebx
mov dword [esp + 0x28], ebx
movzx ebx, word [ecx + 8]
add esi, eax
lea ebp, [esi + esi*4]
mov esi, dword [esp + 8]
add edi, ebx
add esi, edx
lea esi, [esi + esi*4]
neg esi
lea esi, [esi + ebp*4]
add edi, esi
mov esi, dword [esp]
mov dword [esi + 0x24], edi
lea esi, [eax + edx]
movzx edi, word [ecx + 0xa]
lea ebp, [esi + esi*4]
mov esi, dword [esp + 4]
add esi, ebx
lea esi, [esi + esi*4]
neg esi
add eax, edi
lea esi, [esi + ebp*4]
mov ebp, dword [esp + 8]
add edx, ebx
lea eax, [eax + eax*4]
lea edx, [edx + edx*4]
neg eax
lea eax, [eax + edx*4]
movzx edx, word [ecx + 0xc]
add ebp, edi
add ecx, dword [esp + 0xc]
add esi, ebp
add edx, dword [esp + 4]
mov ebp, dword [esp]
movzx edi, word [ecx - 2]
add edx, eax
movzx eax, word [ecx]
mov dword [ebp + 0x2c], edx
movzx edx, word [ecx + 2]
mov dword [ebp + 0x28], esi
mov dword [esp + 8], eax
movzx eax, word [ecx + 4]
mov ebx, dword [esp + 8]
mov dword [esp + 4], edx
movzx edx, word [ecx + 6]
add ebx, dword [esp + 4]
lea esi, [ebx + ebx*4]
lea ebx, [edi + eax]
lea ebx, [ebx + ebx*4]
neg ebx
lea esi, [ebx + esi*4]
movzx ebx, word [ecx - 4]
add ebx, edx
add ebx, esi
mov dword [esp + 0x24], ebx
mov esi, dword [esp + 4]
mov dword [ebp + 0x40], ebx
movzx ebx, word [ecx + 8]
add esi, eax
lea ebp, [esi + esi*4]
mov esi, dword [esp + 8]
add edi, ebx
add esi, edx
lea esi, [esi + esi*4]
neg esi
lea esi, [esi + ebp*4]
add edi, esi
mov esi, dword [esp]
mov dword [esi + 0x44], edi
lea esi, [eax + edx]
movzx edi, word [ecx + 0xa]
lea ebp, [esi + esi*4]
mov esi, dword [esp + 4]
add edx, ebx
lea edx, [edx + edx*4]
add eax, edi
add esi, ebx
lea esi, [esi + esi*4]
neg esi
lea esi, [esi + ebp*4]
mov ebp, dword [esp + 8]
lea eax, [eax + eax*4]
neg eax
lea eax, [eax + edx*4]
movzx edx, word [ecx + 0xc]
add ebp, edi
add ecx, dword [esp + 0xc]
add esi, ebp
add edx, dword [esp + 4]
mov ebp, dword [esp]
movzx edi, word [ecx - 2]
add edx, eax
movzx eax, word [ecx]
mov dword [ebp + 0x4c], edx
movzx edx, word [ecx + 2]
mov dword [ebp + 0x48], esi
mov dword [esp + 0x18], eax
movzx eax, word [ecx + 4]
mov ebx, dword [esp + 0x18]
mov dword [esp + 8], edx
movzx edx, word [ecx + 6]
add ebx, dword [esp + 8]
lea esi, [ebx + ebx*4]
lea ebx, [edi + eax]
lea ebx, [ebx + ebx*4]
neg ebx
lea esi, [ebx + esi*4]
movzx ebx, word [ecx - 4]
add ebx, edx
add ebx, esi
mov esi, dword [esp + 8]
mov dword [ebp + 0x60], ebx
mov dword [esp + 4], ebx
movzx ebx, word [ecx + 8]
add esi, eax
lea ebp, [esi + esi*4]
mov esi, dword [esp + 0x18]
add esi, edx
add edi, ebx
lea esi, [esi + esi*4]
neg esi
lea esi, [esi + ebp*4]
add edi, esi
mov esi, dword [esp]
mov dword [esi + 0x64], edi
lea esi, [eax + edx]
movzx edi, word [ecx + 0xa]
lea ebp, [esi + esi*4]
mov esi, dword [esp + 8]
add edx, ebx
lea edx, [edx + edx*4]
add eax, edi
add esi, ebx
lea esi, [esi + esi*4]
neg esi
lea esi, [esi + ebp*4]
mov ebp, dword [esp + 0x18]
lea eax, [eax + eax*4]
neg eax
lea eax, [eax + edx*4]
add ebp, edi
add esi, ebp
mov ebp, dword [esp]
mov dword [ebp + 0x68], esi
movzx edx, word [ecx + 0xc]
add edx, dword [esp + 8]
add ecx, dword [esp + 0xc]
add edx, eax
movzx eax, word [ecx]
mov dword [ebp + 0x6c], edx
movzx edx, word [ecx + 2]
movzx edi, word [ecx - 2]
mov dword [esp + 0x10], eax
movzx eax, word [ecx + 4]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x18], edx
movzx edx, word [ecx + 6]
add ebx, dword [esp + 0x18]
lea esi, [ebx + ebx*4]
lea ebx, [edi + eax]
lea ebx, [ebx + ebx*4]
neg ebx
lea esi, [ebx + esi*4]
movzx ebx, word [ecx - 4]
add ebx, edx
add ebx, esi
mov esi, dword [esp + 0x18]
mov dword [ebp + 0x80], ebx
mov dword [esp + 8], ebx
movzx ebx, word [ecx + 8]
add esi, eax
lea ebp, [esi + esi*4]
mov esi, dword [esp + 0x10]
add edi, ebx
add esi, edx
lea esi, [esi + esi*4]
neg esi
lea esi, [esi + ebp*4]
add edi, esi
mov esi, dword [esp]
mov dword [esi + 0x84], edi
lea esi, [eax + edx]
movzx edi, word [ecx + 0xa]
lea ebp, [esi + esi*4]
mov esi, dword [esp + 0x18]
add edx, ebx
lea edx, [edx + edx*4]
add eax, edi
add esi, ebx
lea esi, [esi + esi*4]
neg esi
lea esi, [esi + ebp*4]
mov ebp, dword [esp + 0x10]
lea eax, [eax + eax*4]
neg eax
lea eax, [eax + edx*4]
movzx edx, word [ecx + 0xc]
add ebp, edi
add esi, ebp
mov ebp, dword [esp]
add edx, dword [esp + 0x18]
add ecx, dword [esp + 0xc]
add edx, eax
mov dword [ebp + 0x8c], edx
movzx eax, word [ecx]
movzx edx, word [ecx + 2]
mov dword [ebp + 0x88], esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], edx
movzx eax, word [ecx + 4]
movzx edi, word [ecx - 2]
mov ebx, dword [esp + 0x20]
add ebx, dword [esp + 0x10]
movzx edx, word [ecx + 6]
lea esi, [ebx + ebx*4]
lea ebx, [edi + eax]
lea ebx, [ebx + ebx*4]
neg ebx
lea esi, [ebx + esi*4]
movzx ebx, word [ecx - 4]
add ebx, edx
add ebx, esi
mov esi, dword [esp + 0x10]
mov dword [ebp + 0xa0], ebx
mov dword [esp + 0x18], ebx
movzx ebx, word [ecx + 8]
add esi, eax
lea ebp, [esi + esi*4]
mov esi, dword [esp + 0x20]
add edi, ebx
add esi, edx
lea esi, [esi + esi*4]
neg esi
lea esi, [esi + ebp*4]
add edi, esi
mov esi, dword [esp]
mov dword [esi + 0xa4], edi
lea esi, [eax + edx]
movzx edi, word [ecx + 0xa]
lea ebp, [esi + esi*4]
mov esi, dword [esp + 0x10]
add edx, ebx
lea edx, [edx + edx*4]
add eax, edi
add esi, ebx
lea esi, [esi + esi*4]
neg esi
lea esi, [esi + ebp*4]
mov ebp, dword [esp + 0x20]
lea eax, [eax + eax*4]
neg eax
lea eax, [eax + edx*4]
movzx edx, word [ecx + 0xc]
add ebp, edi
add ecx, dword [esp + 0xc]
add esi, ebp
add edx, dword [esp + 0x10]
mov ebp, dword [esp]
movzx edi, word [ecx - 2]
add edx, eax
movzx eax, word [ecx]
mov dword [ebp + 0xac], edx
movzx edx, word [ecx + 2]
mov dword [ebp + 0xa8], esi
mov dword [esp + 0x1c], eax
movzx eax, word [ecx + 4]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x10], edx
movzx edx, word [ecx + 6]
add ebx, dword [esp + 0x10]
lea esi, [ebx + ebx*4]
lea ebx, [edi + eax]
lea ebx, [ebx + ebx*4]
neg ebx
lea esi, [ebx + esi*4]
movzx ebx, word [ecx - 4]
add ebx, edx
add ebx, esi
mov dword [esp + 0x20], ebx
mov dword [ebp + 0xc0], ebx
mov esi, dword [esp + 0x10]
movzx ebx, word [ecx + 8]
add esi, eax
lea ebp, [esi + esi*4]
mov esi, dword [esp + 0x1c]
add edi, ebx
add esi, edx
lea esi, [esi + esi*4]
neg esi
lea esi, [esi + ebp*4]
add edi, esi
mov esi, dword [esp]
mov dword [esi + 0xc4], edi
lea esi, [eax + edx]
movzx edi, word [ecx + 0xa]
lea ebp, [esi + esi*4]
mov esi, dword [esp + 0x10]
add edx, ebx
lea edx, [edx + edx*4]
add esi, ebx
lea esi, [esi + esi*4]
neg esi
lea esi, [esi + ebp*4]
mov ebp, dword [esp + 0x1c]
add ebp, edi
add esi, ebp
add eax, edi
mov ebp, dword [esp]
lea eax, [eax + eax*4]
neg eax
lea eax, [eax + edx*4]
movzx edx, word [ecx + 0xc]
add edx, dword [esp + 0x10]
add ecx, dword [esp + 0xc]
mov dword [ebp + 0xc8], esi
add edx, eax
movzx eax, word [ecx]
mov dword [ebp + 0xcc], edx
movzx edx, word [ecx + 2]
movzx edi, word [ecx - 2]
mov dword [esp + 0x1c], eax
movzx eax, word [ecx + 4]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x10], edx
movzx edx, word [ecx + 6]
add ebx, dword [esp + 0x10]
lea esi, [ebx + ebx*4]
lea ebx, [edi + eax]
lea ebx, [ebx + ebx*4]
neg ebx
lea esi, [ebx + esi*4]
movzx ebx, word [ecx - 4]
add ebx, edx
add ebx, esi
mov esi, dword [esp + 0x10]
mov dword [ebp + 0xe0], ebx
mov dword [esp + 0x2c], ebx
movzx ebx, word [ecx + 8]
add esi, eax
lea ebp, [esi + esi*4]
mov esi, dword [esp + 0x1c]
add edi, ebx
add esi, edx
lea esi, [esi + esi*4]
neg esi
lea esi, [esi + ebp*4]
add edi, esi
mov esi, dword [esp]
mov dword [esi + 0xe4], edi
lea esi, [eax + edx]
movzx edi, word [ecx + 0xa]
lea ebp, [esi + esi*4]
mov esi, dword [esp + 0x10]
add edx, ebx
lea edx, [edx + edx*4]
add eax, edi
add esi, ebx
lea esi, [esi + esi*4]
neg esi
lea esi, [esi + ebp*4]
mov ebp, dword [esp + 0x1c]
lea eax, [eax + eax*4]
neg eax
lea eax, [eax + edx*4]
add ebp, edi
add esi, ebp
mov ebp, dword [esp]
mov dword [ebp + 0xe8], esi
movzx edx, word [ecx + 0xc]
add edx, dword [esp + 0x10]
add ecx, dword [esp + 0xc]
add edx, eax
movzx eax, word [ecx]
mov dword [ebp + 0xec], edx
movzx edx, word [ecx + 2]
movzx edi, word [ecx - 2]
mov dword [esp + 0x10], eax
movzx eax, word [ecx + 4]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xc], edx
movzx edx, word [ecx + 6]
add ebx, dword [esp + 0xc]
lea esi, [ebx + ebx*4]
lea ebx, [edi + eax]
lea ebx, [ebx + ebx*4]
neg ebx
lea esi, [ebx + esi*4]
movzx ebx, word [ecx - 4]
add ebx, edx
add ebx, esi
mov esi, dword [esp + 0xc]
mov dword [ebp + 0x100], ebx
mov dword [esp + 0x1c], ebx
movzx ebx, word [ecx + 8]
add esi, eax
lea ebp, [esi + esi*4]
mov esi, dword [esp + 0x10]
add edi, ebx
add esi, edx
lea esi, [esi + esi*4]
neg esi
lea esi, [esi + ebp*4]
add edi, esi
mov esi, dword [esp]
mov dword [esi + 0x104], edi
lea esi, [eax + edx]
movzx edi, word [ecx + 0xa]
lea ebp, [esi + esi*4]
mov esi, dword [esp + 0xc]
add esi, ebx
add eax, edi
lea esi, [esi + esi*4]
add edx, ebx
mov ebx, dword [esp + 0x18]
neg esi
lea eax, [eax + eax*4]
lea esi, [esi + ebp*4]
neg eax
mov ebp, dword [esp + 0x10]
lea edx, [edx + edx*4]
lea eax, [eax + edx*4]
movzx edx, word [ecx + 0xc]
add edx, dword [esp + 0xc]
add ebp, edi
add esi, ebp
mov ebp, dword [esp]
add edx, eax
mov eax, dword [esp + 0x24]
add eax, dword [esp + 4]
add ebx, dword [esp + 0x30]
mov dword [ebp + 0x10c], edx
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x28]
add eax, dword [esp + 8]
mov dword [ebp + 0x108], esi
lea eax, [eax + eax*4]
neg eax
lea eax, [eax + edx*4]
lea eax, [eax + ebx + 0x200]
sar eax, 0xa
test eax, 0xffffc000
je 0x6c3f6bee
neg eax
sar eax, 0x1f
and eax, 0x3fff
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
add ebx, dword [esp + 0x20]
mov word [edx], ax
mov eax, dword [esp + 4]
add eax, dword [esp + 8]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x18]
lea eax, [eax + eax*4]
neg eax
lea eax, [eax + edx*4]
lea eax, [eax + ebx + 0x200]
sar eax, 0xa
test eax, 0xffffc000
je 0x6c3f6c33
neg eax
sar eax, 0x1f
and eax, 0x3fff
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x24]
add ebx, dword [esp + 0x2c]
mov word [ecx + 8], ax
mov eax, dword [esp + 8]
add eax, dword [esp + 0x18]
lea edx, [eax + eax*4]
mov eax, dword [esp + 4]
add eax, dword [esp + 0x20]
lea eax, [eax + eax*4]
neg eax
lea eax, [eax + edx*4]
lea eax, [eax + ebx + 0x200]
sar eax, 0xa
test eax, 0xffffc000
je 0x6c3f6c79
neg eax
sar eax, 0x1f
and eax, 0x3fff
mov ebx, dword [esp + 0x14]
mov word [ebx + 0x10], ax
mov ebx, dword [esp + 0x18]
add ebx, dword [esp + 0x20]
lea eax, [ebx + ebx*4]
mov ebx, dword [esp + 8]
add ebx, dword [esp + 0x2c]
lea edx, [ebx + ebx*4]
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 4]
neg edx
lea eax, [edx + eax*4]
lea eax, [eax + ebx + 0x200]
sar eax, 0xa
test eax, 0xffffc000
je 0x6c3f6cbf
neg eax
sar eax, 0x1f
and eax, 0x3fff
mov edx, dword [esp]
mov esi, dword [esp + 0x14]
mov edx, dword [edx + 0x104]
mov word [esi + 0x18], ax
mov dword [esp + 8], edx
mov edx, dword [esp]
mov ecx, edx
mov ebp, dword [edx + 0x44]
mov ebx, ecx
mov eax, dword [edx + 0x64]
mov edi, dword [ebx + 0xc4]
mov ebx, dword [ebx + 0xe4]
mov esi, dword [edx + 0x24]
mov edx, dword [edx + 0x84]
mov dword [esp + 0xc], edi
mov ecx, dword [ecx + 0xa4]
mov dword [esp + 4], ebx
lea ebx, [ebp + eax]
lea edi, [ebx + ebx*4]
lea ebx, [esi + edx]
lea ebx, [ebx + ebx*4]
neg ebx
lea ebx, [ebx + edi*4]
mov edi, dword [esp]
mov dword [esp + 0x10], ebx
mov ebx, ecx
add ebx, dword [edi + 4]
mov edi, dword [esp + 0x10]
lea ebx, [edi + ebx + 0x200]
sar ebx, 0xa
test ebx, 0xffffc000
je 0x6c3f6d43
neg ebx
sar ebx, 0x1f
and ebx, 0x3fff
mov edi, dword [esp + 0x14]
add esi, dword [esp + 0xc]
mov word [edi + 2], bx
lea ebx, [eax + edx]
lea edi, [ebx + ebx*4]
lea ebx, [ebp + ecx]
lea ebx, [ebx + ebx*4]
neg ebx
lea ebx, [ebx + edi*4]
lea ebx, [ebx + esi + 0x200]
sar ebx, 0xa
test ebx, 0xffffc000
je 0x6c3f6d7e
neg ebx
sar ebx, 0x1f
and ebx, 0x3fff
mov esi, dword [esp + 0x14]
add ebp, dword [esp + 4]
mov word [esi + 0xa], bx
lea ebx, [edx + ecx]
lea esi, [ebx + ebx*4]
mov ebx, dword [esp + 0xc]
add ebx, eax
lea ebx, [ebx + ebx*4]
neg ebx
lea ebx, [ebx + esi*4]
lea ebx, [ebx + ebp + 0x200]
sar ebx, 0xa
test ebx, 0xffffc000
je 0x6c3f6dbb
neg ebx
sar ebx, 0x1f
and ebx, 0x3fff
add edx, dword [esp + 4]
add ecx, dword [esp + 0xc]
add eax, dword [esp + 8]
lea edx, [edx + edx*4]
mov edi, dword [esp + 0x14]
neg edx
lea ecx, [ecx + ecx*4]
lea edx, [edx + ecx*4]
lea eax, [edx + eax + 0x200]
sar eax, 0xa
test eax, 0xffffc000
mov word [edi + 0x12], bx
je 0x6c3f6df5
neg eax
sar eax, 0x1f
and eax, 0x3fff
mov edx, dword [esp]
mov ebp, dword [esp + 0x14]
mov edx, dword [edx + 0x108]
mov word [ebp + 0x1a], ax
mov dword [esp + 8], edx
mov edx, dword [esp]
mov ecx, edx
mov ebp, dword [edx + 0x48]
mov ebx, ecx
mov eax, dword [edx + 0x68]
mov edi, dword [ebx + 0xc8]
mov ebx, dword [ebx + 0xe8]
mov esi, dword [edx + 0x28]
mov edx, dword [edx + 0x88]
mov dword [esp + 0xc], edi
mov ecx, dword [ecx + 0xa8]
mov dword [esp + 4], ebx
lea ebx, [ebp + eax]
lea edi, [ebx + ebx*4]
lea ebx, [esi + edx]
lea ebx, [ebx + ebx*4]
neg ebx
lea ebx, [ebx + edi*4]
mov edi, dword [esp]
mov dword [esp + 0x10], ebx
mov ebx, ecx
add ebx, dword [edi + 8]
mov edi, dword [esp + 0x10]
lea ebx, [edi + ebx + 0x200]
sar ebx, 0xa
test ebx, 0xffffc000
je 0x6c3f6e79
neg ebx
sar ebx, 0x1f
and ebx, 0x3fff
mov edi, dword [esp + 0x14]
add esi, dword [esp + 0xc]
mov word [edi + 4], bx
lea ebx, [eax + edx]
lea edi, [ebx + ebx*4]
lea ebx, [ebp + ecx]
lea ebx, [ebx + ebx*4]
neg ebx
lea ebx, [ebx + edi*4]
lea ebx, [ebx + esi + 0x200]
sar ebx, 0xa
test ebx, 0xffffc000
je 0x6c3f6eb4
neg ebx
sar ebx, 0x1f
and ebx, 0x3fff
mov esi, dword [esp + 0x14]
add ebp, dword [esp + 4]
mov word [esi + 0xc], bx
lea ebx, [edx + ecx]
lea esi, [ebx + ebx*4]
mov ebx, dword [esp + 0xc]
add ebx, eax
lea ebx, [ebx + ebx*4]
neg ebx
lea ebx, [ebx + esi*4]
lea ebx, [ebx + ebp + 0x200]
sar ebx, 0xa
test ebx, 0xffffc000
je 0x6c3f6ef1
neg ebx
sar ebx, 0x1f
and ebx, 0x3fff
add edx, dword [esp + 4]
add ecx, dword [esp + 0xc]
add eax, dword [esp + 8]
lea edx, [edx + edx*4]
mov edi, dword [esp + 0x14]
neg edx
lea ecx, [ecx + ecx*4]
lea edx, [edx + ecx*4]
lea eax, [edx + eax + 0x200]
sar eax, 0xa
test eax, 0xffffc000
mov word [edi + 0x14], bx
je 0x6c3f6f2b
neg eax
sar eax, 0x1f
and eax, 0x3fff
mov edx, dword [esp]
mov ebp, dword [esp + 0x14]
mov edx, dword [edx + 0x10c]
mov word [ebp + 0x1c], ax
mov dword [esp + 8], edx
mov edx, dword [esp]
mov edx, dword [edx + 0x2c]
mov dword [esp + 0x18], edx
mov edx, dword [esp]
mov ecx, edx
mov ebp, dword [edx + 0x4c]
mov ebx, ecx
mov eax, dword [edx + 0x6c]
mov edi, dword [ebx + 0xec]
mov esi, dword [ebx + 0xcc]
mov edx, dword [edx + 0x8c]
lea ebx, [ebp + eax]
mov ecx, dword [ecx + 0xac]
mov dword [esp + 4], edi
lea edi, [ebx + ebx*4]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xc], esi
add ebx, edx
lea ebx, [ebx + ebx*4]
neg ebx
lea ebx, [ebx + edi*4]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp]
mov edi, dword [esp + 0x10]
mov esi, dword [ebx + 0xc]
add esi, ecx
lea ebx, [edi + esi + 0x200]
sar ebx, 0xa
test ebx, 0xffffc000
je 0x6c3f6fb9
neg ebx
sar ebx, 0x1f
and ebx, 0x3fff
mov esi, dword [esp + 0x14]
mov word [esi + 6], bx
lea ebx, [eax + edx]
mov esi, dword [esp + 0x18]
lea edi, [ebx + ebx*4]
lea ebx, [ebp + ecx]
add esi, dword [esp + 0xc]
lea ebx, [ebx + ebx*4]
neg ebx
lea ebx, [ebx + edi*4]
lea ebx, [ebx + esi + 0x200]
sar ebx, 0xa
test ebx, 0xffffc000
je 0x6c3f6ff8
neg ebx
sar ebx, 0x1f
and ebx, 0x3fff
mov edi, dword [esp + 0x14]
add ebp, dword [esp + 4]
mov word [edi + 0xe], bx
lea ebx, [edx + ecx]
lea esi, [ebx + ebx*4]
mov ebx, dword [esp + 0xc]
add ebx, eax
lea ebx, [ebx + ebx*4]
neg ebx
lea ebx, [ebx + esi*4]
lea ebx, [ebx + ebp + 0x200]
sar ebx, 0xa
test ebx, 0xffffc000
je 0x6c3f7035
neg ebx
sar ebx, 0x1f
and ebx, 0x3fff
add edx, dword [esp + 4]
add ecx, dword [esp + 0xc]
add eax, dword [esp + 8]
lea edx, [edx + edx*4]
mov ebp, dword [esp + 0x14]
neg edx
lea ecx, [ecx + ecx*4]
lea edx, [edx + ecx*4]
lea eax, [edx + eax + 0x200]
sar eax, 0xa
test eax, 0xffffc000
mov word [ebp + 0x16], bx
je 0x6c3f706f
neg eax
sar eax, 0x1f
and eax, 0x3fff
mov edx, dword [esp + 0x14]
mov word [edx + 0x1e], ax
add esp, 0x34
pop ebx
pop esi
pop edi
pop ebp
ret