Function at 0x70073b70
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x2c
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x50]
movzx edx, byte [ecx]
add ecx, dword [esp + 0x48]
mov dword [esp + 4], edi
xor edi, edi
mov ebx, edi
mov bl, dl
mov byte [esp + 0xa], dl
movzx edx, byte [ecx]
mov edi, ebx
mov ebx, edi
mov edi, dword [esp + 0x48]
mov bh, dl
mov byte [esp + 0xb], dl
movzx edx, bx
mov ebx, dword [esp + 0x48]
movzx edi, byte [ecx + edi]
movzx ebx, byte [ecx + ebx*2]
mov esi, edi
shl esi, 0x10
mov dword [esp], esi
movzx ecx, bl
or edx, dword [esp]
mov esi, ecx
shl esi, 0x18
or edx, esi
cmp dword [esp + 0x4c], 9
ja case.default.0x70073be0
mov esi, dword [esp + 0x4c]
jmp dword [esi*4 + 0x707994ec]
movzx edi, byte [esp + 4]
movzx ebx, dl
mov ecx, edi
mov dword [esp], edi
movzx edi, byte [eax]
sub edi, ecx
add edi, ebx
js 0x70074508
mov esi, 0xffffffff
cmp edi, 0xff
cmovle esi, edi
mov ecx, esi
mov byte [ebp], cl
movzx edi, byte [eax + 1]
sub edi, dword [esp]
add edi, ebx
js 0x70074560
mov esi, 0xffffffff
cmp edi, 0xff
cmovle esi, edi
mov ecx, esi
mov byte [ebp + 1], cl
movzx edi, byte [eax + 2]
sub edi, dword [esp]
add edi, ebx
js 0x70074557
mov esi, 0xffffffff
cmp edi, 0xff
cmovle esi, edi
mov ecx, esi
mov byte [ebp + 2], cl
movzx esi, byte [eax + 3]
sub esi, dword [esp]
add esi, ebx
js 0x70074550
mov ebx, 0xffffffff
cmp esi, 0xff
cmovle ebx, esi
mov esi, dword [esp + 0x54]
mov byte [ebp + 3], bl
movzx ebx, dh
add esi, ebp
movzx ebp, byte [eax]
sub ebp, dword [esp]
add ebp, ebx
js 0x70074547
mov edi, 0xffffffff
cmp ebp, 0xff
cmovle edi, ebp
mov ecx, edi
mov byte [esi], cl
movzx ebp, byte [eax + 1]
sub ebp, dword [esp]
add ebp, ebx
js 0x70074540
mov edi, 0xffffffff
cmp ebp, 0xff
cmovle edi, ebp
mov ecx, edi
mov byte [esi + 1], cl
movzx ebp, byte [eax + 2]
sub ebp, dword [esp]
add ebp, ebx
js 0x70074537
mov edi, 0xffffffff
cmp ebp, 0xff
cmovle edi, ebp
mov ecx, edi
mov byte [esi + 2], cl
movzx edi, byte [eax + 3]
sub edi, dword [esp]
add edi, ebx
js 0x70074530
mov ebx, 0xffffffff
cmp edi, 0xff
cmovle ebx, edi
mov byte [esi + 3], bl
movzx ebp, byte [eax]
mov ebx, edx
sub ebp, dword [esp]
shr ebx, 0x10
movzx ebx, bl
add esi, dword [esp + 0x54]
add ebp, ebx
js 0x70074527
mov edi, 0xffffffff
cmp ebp, 0xff
cmovle edi, ebp
mov ecx, edi
mov byte [esi], cl
movzx ebp, byte [eax + 1]
sub ebp, dword [esp]
add ebp, ebx
js 0x70074520
mov edi, 0xffffffff
cmp ebp, 0xff
cmovle edi, ebp
mov ecx, edi
mov byte [esi + 1], cl
movzx ebp, byte [eax + 2]
sub ebp, dword [esp]
add ebp, ebx
js 0x70074517
mov edi, 0xffffffff
cmp ebp, 0xff
cmovle edi, ebp
mov ecx, edi
mov byte [esi + 2], cl
movzx edi, byte [eax + 3]
sub edi, dword [esp]
add edi, ebx
js 0x70074510
mov ebx, 0xffffffff
cmp edi, 0xff
cmovle ebx, edi
mov byte [esi + 3], bl
movzx ebx, byte [eax]
shr edx, 0x18
sub ebx, dword [esp]
xor edi, edi
add esi, dword [esp + 0x54]
add ebx, edx
js 0x70073db6
mov edi, 0xffffffff
cmp ebx, 0xff
cmovle edi, ebx
mov ebx, edi
xor edi, edi
mov byte [esi], bl
movzx ebx, byte [eax + 1]
sub ebx, dword [esp]
add ebx, edx
js 0x70073dd5
mov edi, 0xffffffff
cmp ebx, 0xff
cmovle edi, ebx
mov ebx, edi
xor edi, edi
mov byte [esi + 1], bl
movzx ebx, byte [eax + 2]
sub ebx, dword [esp]
add ebx, edx
js 0x70073df5
mov edi, 0xffffffff
cmp ebx, 0xff
cmovle edi, ebx
mov ebx, edi
xor ecx, ecx
mov byte [esi + 2], bl
movzx eax, byte [eax + 3]
sub eax, dword [esp]
add edx, eax
js 0x70073e15
mov ecx, 0xffffffff
cmp edx, 0xff
cmovle ecx, edx
mov byte [esi + 3], cl
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
movzx ebx, byte [eax]
add ecx, edi
movzx esi, byte [eax + 1]
lea edx, [ecx + 1]
add ecx, edi
movzx eax, byte [eax + 2]
sar edx, 1
mov dword [esp], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0xc], esi
movzx esi, byte [esp + 0xb]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x54]
add ebx, ebx
add eax, ebx
mov byte [ebp + eax], dl
lea edx, [esi + ecx + 2]
lea ecx, [edi + esi]
mov edi, dword [esp + 0x54]
sar edx, 2
mov byte [ebp + eax + 1], dl
lea edx, [ecx + 1]
add ecx, esi
sar edx, 1
mov byte [ebp + eax + 2], dl
mov byte [ebp + edi*2], dl
movzx edx, byte [esp + 0xa]
lea ecx, [edx + ecx + 2]
add esi, edx
sar ecx, 2
mov byte [ebp + eax + 3], cl
lea eax, [esi + 1]
add esi, edx
mov byte [ebp + ebx + 1], cl
movzx ecx, byte [esp + 4]
sar eax, 1
mov byte [ebp + edi], al
mov byte [ebp + ebx + 2], al
lea eax, [ecx + esi + 2]
add edx, ecx
sar eax, 2
mov byte [ebp + edi + 1], al
mov byte [ebp + ebx + 3], al
lea eax, [edx + 1]
mov ebx, dword [esp + 0x54]
sar eax, 1
add edx, ecx
mov byte [ebp], al
mov byte [ebp + edi + 2], al
mov edi, dword [esp]
lea eax, [edi + edx + 2]
mov edx, dword [esp + 0xc]
sar eax, 2
mov byte [ebp + 1], al
mov byte [ebp + ebx + 3], al
lea eax, [ecx + edi*2]
lea eax, [edx + eax + 2]
sar eax, 2
mov byte [ebp + 2], al
mov eax, dword [esp + 0x10]
lea edx, [edi + edx*2]
lea eax, [edx + eax + 2]
sar eax, 2
mov byte [ebp + 3], al
jmp case.default.0x70073be0
movzx esi, byte [esp + 0xb]
movzx edx, byte [esp + 0xa]
add edx, esi
lea eax, [edx + 1]
add edx, esi
sar eax, 1
add esi, edi
mov byte [ebp], al
lea eax, [edx + edi + 2]
sar eax, 2
mov byte [ebp + 1], al
mov eax, dword [esp + 0x54]
add eax, ebp
mov edx, eax
lea eax, [esi + 1]
add esi, edi
sar eax, 1
mov byte [edx], al
mov byte [ebp + 2], al
lea eax, [esi + ecx + 2]
mov esi, dword [esp + 0x54]
sar eax, 2
mov dword [esp], edx
mov byte [ebp + esi + 1], al
mov byte [ebp + 3], al
mov eax, esi
lea esi, [edi + ecx]
mov edi, dword [esp]
add eax, eax
mov dword [esp + 4], esi
lea edx, [esi + 1]
mov esi, dword [esp + 0x54]
sar edx, 1
mov byte [edi + esi], dl
mov byte [ebp + esi + 2], dl
mov esi, dword [esp + 4]
lea edx, [esi + ecx*2 + 2]
mov ecx, dword [esp + 0x54]
sar edx, 2
mov byte [ebp + eax + 1], dl
mov byte [ebp + ecx + 3], dl
mov edx, eax
add edx, ecx
mov byte [ebp + edx + 3], bl
mov byte [ebp + edx + 2], bl
mov byte [ebp + edx + 1], bl
mov byte [edi + ecx*2], bl
mov byte [ebp + eax + 3], bl
mov byte [ebp + eax + 2], bl
jmp case.default.0x70073be0
movzx ebx, byte [eax]
movzx esi, dl
add esi, ebx
movzx ebx, byte [eax + 1]
add ebx, esi
movzx esi, dh
add esi, ebx
movzx ebx, byte [eax + 2]
movzx eax, byte [eax + 3]
shr edx, 0x10
movzx edx, dl
add ebx, esi
add edx, ebx
add eax, edx
mov edx, dword [esp + 0x54]
lea eax, [eax + ecx + 4]
sar eax, 3
mov byte [ebp], al
add edx, ebp
mov byte [ebp + 1], al
mov byte [ebp + 2], al
mov byte [ebp + 3], al
mov byte [edx], al
mov byte [edx + 1], al
mov byte [edx + 2], al
mov byte [edx + 3], al
add edx, dword [esp + 0x54]
mov byte [edx], al
mov byte [edx + 1], al
mov byte [edx + 2], al
mov byte [edx + 3], al
add edx, dword [esp + 0x54]
mov byte [edx], al
mov byte [edx + 1], al
mov byte [edx + 2], al
mov byte [edx + 3], al
jmp case.default.0x70073be0
movzx edi, byte [eax]
movzx ecx, byte [esp + 4]
movzx edx, byte [eax + 1]
movzx esi, byte [eax + 2]
mov ebx, edi
movzx edi, byte [eax + 3]
lea ecx, [ecx + ebx*2]
movzx eax, byte [eax + 4]
mov dword [esp], ebx
lea ebx, [edx + ecx + 2]
mov ecx, dword [esp]
sar ebx, 2
mov byte [ebp], bl
lea ecx, [ecx + edx*2]
lea ecx, [esi + ecx + 2]
lea edx, [edx + esi*2]
lea esi, [esi + edi*2]
lea eax, [esi + eax + 2]
mov esi, dword [esp + 0x54]
lea edx, [edi + edx + 2]
sar ecx, 2
sar edx, 2
add esi, ebp
sar eax, 2
mov byte [ebp + 1], cl
mov byte [ebp + 2], dl
mov byte [ebp + 3], al
mov byte [esi], bl
mov byte [esi + 1], cl
mov byte [esi + 2], dl
mov byte [esi + 3], al
add esi, dword [esp + 0x54]
mov byte [esi], bl
mov byte [esi + 1], cl
mov byte [esi + 2], dl
mov byte [esi + 3], al
add esi, dword [esp + 0x54]
mov byte [esi], bl
mov byte [esi + 1], cl
mov byte [esi + 2], dl
mov byte [esi + 3], al
jmp case.default.0x70073be0
movzx eax, byte [esp + 0xa]
movzx edx, byte [esp + 4]
movzx esi, byte [esp + 0xb]
lea edx, [edx + eax*2]
lea edx, [esi + edx + 2]
sar edx, 2
mov byte [ebp], dl
lea eax, [eax + esi*2]
mov byte [ebp + 1], dl
lea eax, [eax + edi + 2]
mov byte [ebp + 2], dl
sar eax, 2
mov byte [ebp + 3], dl
mov edx, dword [esp + 0x54]
lea ebx, [esi + edi*2]
lea ebx, [ebx + ecx + 2]
sar ebx, 2
lea esi, [edi + ecx*2]
add edx, ebp
mov byte [edx], al
lea ecx, [esi + ecx + 2]
mov byte [edx + 1], al
sar ecx, 2
mov byte [edx + 2], al
mov byte [edx + 3], al
mov eax, dword [esp + 0x54]
add eax, edx
mov byte [eax], bl
mov byte [eax + 1], bl
mov byte [eax + 2], bl
mov byte [eax + 3], bl
add eax, dword [esp + 0x54]
mov byte [eax], cl
mov byte [eax + 1], cl
mov byte [eax + 2], cl
mov byte [eax + 3], cl
jmp case.default.0x70073be0
movzx edx, byte [eax]
movzx ecx, byte [eax + 1]
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x54]
lea ecx, [edx + ecx*2]
movzx edx, byte [eax + 2]
add ebx, ebp
lea edx, [ecx + edx + 2]
sar edx, 2
mov byte [ebp], dl
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
lea ecx, [edx + ecx*2]
movzx edx, byte [eax + 3]
lea edx, [ecx + edx + 2]
sar edx, 2
mov byte [ebx], dl
mov byte [ebp + 1], dl
movzx ecx, byte [eax + 2]
lea edx, [edi + edi]
movzx esi, byte [eax + 3]
lea esi, [ecx + esi*2]
movzx ecx, byte [eax + 4]
lea ecx, [esi + ecx + 2]
sar ecx, 2
mov byte [ebx + edi], cl
mov byte [ebp + edi + 1], cl
mov byte [ebp + 2], cl
mov ecx, edx
movzx esi, byte [eax + 3]
add ecx, edi
movzx edi, byte [eax + 4]
mov dword [esp], ecx
lea edi, [esi + edi*2]
movzx esi, byte [eax + 5]
lea esi, [edi + esi + 2]
mov edi, dword [esp + 0x54]
sar esi, 2
mov ecx, esi
mov byte [ebx + edi*2], cl
mov byte [ebp + edx + 1], cl
mov byte [ebp + edi + 2], cl
mov edi, dword [esp + 0x54]
mov byte [ebp + 3], cl
movzx ebx, byte [eax + 4]
movzx esi, byte [eax + 5]
mov ecx, dword [esp]
lea esi, [ebx + esi*2]
movzx ebx, byte [eax + 6]
lea ebx, [esi + ebx + 2]
sar ebx, 2
mov byte [ebp + ecx + 1], bl
mov byte [ebp + edx + 2], bl
mov byte [ebp + edi + 3], bl
movzx ebx, byte [eax + 5]
movzx esi, byte [eax + 6]
lea esi, [ebx + esi*2]
movzx ebx, byte [eax + 7]
lea ebx, [esi + ebx + 2]
sar ebx, 2
mov byte [ebp + ecx + 2], bl
mov byte [ebp + edx + 3], bl
movzx edx, byte [eax + 7]
movzx eax, byte [eax + 6]
lea eax, [eax + edx*2]
lea eax, [edx + eax + 2]
sar eax, 2
mov byte [ebp + ecx + 3], al
jmp case.default.0x70073be0
movzx ebx, byte [eax]
movzx esi, byte [eax + 1]
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 3]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x10], esi
movzx esi, byte [esp + 0xb]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x18], eax
lea eax, [ecx + edi*2]
add ebx, ebx
lea eax, [esi + eax + 2]
add edx, ebx
sar eax, 2
mov byte [ebp + edx], al
movzx eax, byte [esp + 0xa]
lea ecx, [edi + esi*2]
mov edi, dword [esp + 0x54]
lea ecx, [eax + ecx + 2]
sar ecx, 2
mov byte [ebp + edi*2], cl
lea esi, [esi + eax*2]
mov byte [ebp + edx + 1], cl
movzx ecx, byte [esp + 4]
lea esi, [ecx + esi + 2]
sar esi, 2
mov dword [esp], ecx
mov ecx, esi
mov esi, dword [esp + 0x10]
mov byte [ebp + edi], cl
mov edi, dword [esp + 0xc]
mov byte [ebp + ebx + 1], cl
mov byte [ebp + edx + 2], cl
mov ecx, dword [esp]
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x54]
lea eax, [edi + eax + 2]
sar eax, 2
mov byte [ebp], al
mov byte [ebp + ecx + 1], al
mov ecx, dword [esp]
mov byte [ebp + ebx + 2], al
mov byte [ebp + edx + 3], al
lea eax, [ecx + edi*2]
mov ecx, dword [esp + 0x54]
lea eax, [esi + eax + 2]
sar eax, 2
mov byte [ebp + 1], al
mov byte [ebp + ecx + 2], al
mov byte [ebp + ebx + 3], al
mov edx, dword [esp + 0x14]
lea eax, [edi + esi*2]
lea eax, [edx + eax + 2]
sar eax, 2
mov byte [ebp + 2], al
lea edx, [esi + edx*2]
mov byte [ebp + ecx + 3], al
mov eax, dword [esp + 0x18]
lea eax, [edx + eax + 2]
sar eax, 2
mov byte [ebp + 3], al
jmp case.default.0x70073be0
movzx ecx, byte [eax]
movzx ebx, byte [eax + 1]
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 3]
movzx esi, byte [esp + 0xb]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
movzx edx, byte [esp + 0xa]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], ecx
lea ecx, [edi + esi*2]
mov edi, dword [esp + 0x54]
lea ecx, [edx + ecx + 2]
lea ebx, [eax + eax]
mov eax, dword [esp + 0x54]
sar ecx, 2
lea esi, [esi + edx*2]
add eax, ebx
mov byte [ebp + eax], cl
movzx ecx, byte [esp + 4]
mov dword [esp], eax
lea esi, [ecx + esi + 2]
sar esi, 2
mov eax, esi
mov esi, dword [esp + 0x10]
mov byte [ebp + edi*2], al
mov edi, dword [esp + 0xc]
lea edx, [edx + ecx*2]
mov eax, dword [esp + 0x54]
lea edx, [edi + edx + 2]
add ecx, edi
sar edx, 2
mov byte [ebp + eax], dl
mov eax, dword [esp]
mov byte [ebp + eax + 1], dl
mov eax, dword [esp + 0x54]
lea edx, [ecx + 1]
sar edx, 1
add ecx, edi
mov byte [ebp], dl
add edi, esi
mov byte [ebp + ebx + 1], dl
lea edx, [esi + ecx + 2]
sar edx, 2
mov byte [ebp + eax + 1], dl
mov eax, dword [esp]
mov byte [ebp + eax + 2], dl
lea edx, [edi + 1]
add edi, esi
sar edx, 1
mov byte [ebp + 1], dl
mov byte [ebp + ebx + 2], dl
mov edx, dword [esp + 0x14]
lea ecx, [edx + edi + 2]
mov edi, dword [esp + 0x54]
add esi, edx
sar ecx, 2
mov byte [ebp + edi + 2], cl
mov byte [ebp + eax + 3], cl
mov ecx, dword [esp + 0x18]
lea eax, [esi + 1]
sar eax, 1
mov byte [ebp + 2], al
mov byte [ebp + ebx + 3], al
lea eax, [esi + edx]
lea eax, [ecx + eax + 2]
sar eax, 2
mov byte [ebp + edi + 3], al
lea eax, [edx + ecx + 1]
sar eax, 1
mov byte [ebp + 3], al
jmp case.default.0x70073be0
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x54]
lea edx, [ecx + edx + 1]
sar edx, 1
add ebx, ebp
mov byte [ebp], dl
movzx edx, byte [eax]
movzx ecx, byte [eax + 1]
lea ecx, [edx + ecx*2]
movzx edx, byte [eax + 2]
lea edx, [ecx + edx + 2]
sar edx, 2
mov byte [ebx], dl
movzx esi, byte [eax + 1]
lea edx, [edi + edi]
movzx ecx, byte [eax + 2]
lea ecx, [esi + ecx + 1]
sar ecx, 1
mov byte [ebp + 1], cl
mov byte [ebx + edi], cl
mov ecx, edx
movzx esi, byte [eax + 1]
add ecx, edi
movzx edi, byte [eax + 2]
mov dword [esp], ecx
lea edi, [esi + edi*2]
movzx esi, byte [eax + 3]
lea esi, [edi + esi + 2]
mov edi, dword [esp + 0x54]
sar esi, 2
mov ecx, esi
mov byte [ebx + edi*2], cl
mov byte [ebp + edi + 1], cl
movzx esi, byte [eax + 2]
movzx ebx, byte [eax + 3]
mov ecx, dword [esp]
lea ebx, [esi + ebx + 1]
sar ebx, 1
mov byte [ebp + 2], bl
mov byte [ebp + edx + 1], bl
movzx ebx, byte [eax + 2]
movzx esi, byte [eax + 3]
lea esi, [ebx + esi*2]
movzx ebx, byte [eax + 4]
lea ebx, [esi + ebx + 2]
sar ebx, 2
mov byte [ebp + edi + 2], bl
mov byte [ebp + ecx + 1], bl
movzx esi, byte [eax + 3]
movzx ebx, byte [eax + 4]
lea ebx, [esi + ebx + 1]
sar ebx, 1
mov byte [ebp + edx + 2], bl
mov byte [ebp + 3], bl
movzx ebx, byte [eax + 3]
movzx esi, byte [eax + 4]
mov edi, dword [esp + 0x54]
lea esi, [ebx + esi*2]
movzx ebx, byte [eax + 5]
lea ebx, [esi + ebx + 2]
sar ebx, 2
mov byte [ebp + ecx + 2], bl
mov byte [ebp + edi + 3], bl
movzx ebx, byte [eax + 4]
movzx esi, byte [eax + 5]
lea esi, [ebx + esi*2]
movzx ebx, byte [eax + 6]
lea ebx, [esi + ebx + 2]
sar ebx, 2
mov byte [ebp + edx + 3], bl
movzx edx, byte [eax + 5]
movzx ebx, byte [eax + 6]
movzx eax, byte [eax + 7]
lea edx, [edx + ebx*2]
lea eax, [edx + eax + 2]
sar eax, 2
mov byte [ebp + ecx + 3], al
jmp case.default.0x70073be0
xor esi, esi
jmp 0x70073c0f
xor ebx, ebx
jmp 0x70073d92
xor edi, edi
jmp 0x70073d70
xor edi, edi
jmp 0x70073d4e
xor edi, edi
jmp 0x70073d2d
xor ebx, ebx
jmp 0x70073d02
xor edi, edi
jmp 0x70073ce0
xor edi, edi
jmp 0x70073cbe
xor edi, edi
jmp 0x70073c9d
xor ebx, ebx
jmp 0x70073c75
xor esi, esi
jmp 0x70073c53
xor esi, esi
jmp 0x70073c31