Function at 0x426ba0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 8
push ebx
mov ebx, dword [esp + 0x18]
push ebp
push esi
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x12]
mov dword [ebx], eax
mov ecx, dword [esi + 0x16]
mov dword [ebx + 4], ecx
movzx ebp, word [esi + 0x1c]
mov eax, dword [esi + 0xa]
shr ebp, 3
add eax, esi
cmp ebp, 1
push edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], ebp
jne 0x4257e1
push 0x400
call fcn.0047e540
mov edi, eax
xor eax, eax
mov dword [ebx + 0xc], edi
mov ecx, 0x100
rep stosd dword es:[edi], eax
mov ecx, dword [esi + 0x2e]
add esp, 4
test ecx, ecx
jne 0x4257ca
mov ecx, 0x100
mov edi, dword [ebx + 0xc]
add esi, 0x36
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 4]
imul eax, dword [ebx]
mov dword [ebx + 8], 8
jmp 0x4257f1
mov eax, dword [ebx + 4]
imul eax, dword [ebx]
mov dword [ebx + 8], 0x20
shl eax, 2
push eax
mov dword [ebx + 0x14], eax
call fcn.0047e540
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
mov edi, ecx
imul edi, ebp
neg edi
and edi, 3
add esp, 4
dec edx
mov dword [ebx + 0x10], eax
mov dword [esp + 0x14], edi
js 0x42588e
mov esi, dword [ebx + 0x10]
mov eax, ecx
imul eax, edx
imul eax, dword [ebx + 8]
shr eax, 3
add eax, esi
xor esi, esi
test ecx, ecx
jbe 0x425878
mov edi, dword [esp + 0x1c]
mov ecx, edi
sub ecx, eax
mov ebp, eax
mov dword [esp + 0x10], ecx
jmp 0x425840
mov ecx, dword [ebx + 8]
cmp ecx, 8
je 0x42585a
cmp ecx, 0x20
jne 0x425864
mov ecx, dword [edi]
and ecx, 0xffffff
mov dword [eax + esi*4], ecx
jmp 0x425864
mov ecx, dword [esp + 0x10]
mov cl, byte [ecx + ebp]
mov byte [ebp], cl
add edi, dword [esp + 0x24]
mov ecx, dword [ebx]
inc esi
inc ebp
cmp esi, ecx
jb 0x425840
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x14]
mov ecx, dword [ebx]
mov esi, dword [esp + 0x1c]
mov eax, ecx
imul eax, ebp
add eax, edi
add esi, eax
dec edx
mov dword [esp + 0x1c], esi
jns 0x425816
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 8
ret
sub esp, 0x10
push ebx
push ebp
mov ebp, dword [esp + 0x24]
push esi
push edi
mov edi, dword [esp + 0x24]
movzx eax, word [edi + 0xc]
mov dword [ebp], eax
movzx ecx, word [edi + 0xe]
mov dword [ebp + 4], ecx
movzx edx, byte [edi + 7]
movzx eax, word [edi + 5]
movzx ecx, byte [edi]
imul eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
add eax, edi
lea ebx, [ecx + eax + 0x12]
movzx eax, byte [edi + 2]
dec eax
cmp eax, 9
mov dword [esp + 0x10], ebx
ja case.0x4258f3.3
movzx edx, byte [eax + 0x425d40]
jmp dword [edx*4 + 0x425d34]
push 0x400
mov dword [ebp + 8], 8
call fcn.0047e540
add esp, 4
mov dword [ebp + 0xc], eax
mov ecx, 2
xor esi, esi
jmp 0x425920
movzx edx, byte [edi + 7]
lea eax, [ecx - 2]
imul eax, edx
cdq
and edx, 7
add eax, edx
movzx edx, byte [edi]
sar eax, 3
add eax, edi
mov eax, dword [edx + eax + 0x12]
mov edx, dword [ebp + 0xc]
and eax, 0xffffff
mov dword [esi + edx], eax
movzx edx, byte [edi + 7]
lea eax, [ecx - 1]
imul eax, edx
cdq
and edx, 7
add eax, edx
movzx edx, byte [edi]
sar eax, 3
add eax, edi
mov eax, dword [edx + eax + 0x12]
mov edx, dword [ebp + 0xc]
and eax, 0xffffff
mov dword [edx + esi + 4], eax
movzx eax, byte [edi + 7]
imul eax, ecx
cdq
and edx, 7
add eax, edx
movzx edx, byte [edi]
sar eax, 3
add eax, edi
mov eax, dword [edx + eax + 0x12]
mov edx, dword [ebp + 0xc]
and eax, 0xffffff
mov dword [edx + esi + 8], eax
movzx edx, byte [edi + 7]
lea eax, [ecx + 1]
imul eax, edx
cdq
and edx, 7
add eax, edx
movzx edx, byte [edi]
sar eax, 3
add eax, edi
mov eax, dword [edx + eax + 0x12]
mov edx, dword [ebp + 0xc]
and eax, 0xffffff
add ecx, 4
mov dword [esi + edx + 0xc], eax
lea eax, [ecx - 2]
add esi, 0x10
cmp eax, 0x100
jl 0x425920
jmp 0x4259e6
xor edx, edx
mov dl, byte [edi + 0x10]
mov cl, 0x10
cmp cl, dl
sbb edx, edx
and edx, 0x10
add edx, 0x10
mov dword [ebp + 8], edx
mov eax, dword [ebp + 8]
imul eax, dword [ebp + 4]
imul eax, dword [ebp]
shr eax, 3
push eax
mov dword [ebp + 0x14], eax
call fcn.0047e540
mov dword [ebp + 0x10], eax
mov al, byte [edi + 2]
add esp, 4
cmp al, 1
je 0x425bea
cmp al, 2
je 0x425bea
mov ecx, dword [ebp + 4]
dec ecx
mov dword [esp + 0x14], ecx
js 0x425d1a
mov eax, dword [ebp]
mov edx, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
imul edx, eax
imul edx, ecx
shr edx, 3
add edx, esi
xor esi, esi
test eax, eax
mov dword [esp + 0x18], edx
jbe 0x425bd2
movzx eax, byte [ebx]
mov ebp, eax
and ebp, 0x7f
inc ebp
test al, al
movzx eax, byte [edi + 0x10]
jns 0x425b4d
add eax, 0xfffffff8
cmp eax, 0x18
ja case.0x425b61.9
movzx eax, byte [eax + 0x425d60]
jmp dword [eax*4 + 0x425d4c]
test ebp, ebp
movzx eax, byte [ebx + 1]
jle 0x425aab
mov bl, al
mov bh, bl
add edx, esi
mov edi, edx
mov ecx, ebp
mov edx, ecx
shr ecx, 2
mov eax, ebx
shl eax, 0x10
mov ax, bx
mov ebx, dword [esp + 0x10]
rep stosd dword es:[edi], eax
mov ecx, edx
mov edx, dword [esp + 0x18]
and ecx, 3
rep stosb byte es:[edi], al
mov edi, dword [esp + 0x24]
add esi, ebp
add ebx, 2
jmp 0x425bbc
mov ecx, dword [0x154709c]
test ecx, ecx
movsx eax, word [ebx + 1]
jne 0x425ae2
mov ecx, eax
sar ecx, 0xa
mov edi, eax
and ecx, 0x1f
sar edi, 5
shl ecx, 6
and edi, 0x1f
or ecx, edi
mov edi, dword [esp + 0x24]
shl ecx, 5
and eax, 0x1f
or eax, ecx
test ebp, ebp
jle 0x425b0b
lea edx, [edx + esi*2]
mov edi, edx
mov dx, ax
mov ecx, ebp
shl edx, 0x10
mov dx, ax
shr ecx, 1
mov eax, edx
mov edx, dword [esp + 0x18]
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
mov edi, dword [esp + 0x24]
add esi, ebp
add ebx, 3
jmp 0x425bbc
mov eax, dword [ebx + 1]
and eax, 0xffffff
test ebp, ebp
jle 0x425b2c
lea edi, [edx + esi*4]
mov ecx, ebp
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x24]
add esi, ebp
add ebx, 4
jmp 0x425bbc
test ebp, ebp
mov eax, dword [ebx + 1]
jle 0x425b48
lea edi, [edx + esi*4]
mov ecx, ebp
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x24]
add esi, ebp
add ebx, 5
jmp 0x425bbc
inc ebx
add eax, 0xfffffff8
cmp eax, 0x18
mov dword [esp + 0x10], ebx
ja case.0x425b61.9
movzx eax, byte [eax + 0x425d90]
jmp dword [eax*4 + 0x425d7c]
test ebp, ebp
jle case.0x425b61.9
lea esp, [esp]
mov cl, byte [ebx]
inc ebx
mov byte [esi + edx], cl
inc esi
dec ebp
jne 0x425b70
jmp 0x425bbc
test ebp, ebp
jle case.0x425b61.9
mov ax, word [ebx]
add ebx, 2
mov word [edx + esi*2], ax
inc esi
dec ebp
jne 0x425b80
jmp 0x425bbc
test ebp, ebp
jle case.0x425b61.9
mov ecx, dword [ebx]
and ecx, 0xffffff
add ebx, 3
mov dword [edx + esi*4], ecx
inc esi
dec ebp
jne 0x425b94
jmp 0x425bbc
test ebp, ebp
jle case.0x425b61.9
lea esp, [esp]
mov eax, dword [ebx]
add ebx, 4
mov dword [edx + esi*4], eax
inc esi
dec ebp
jne 0x425bb0
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x2c]
cmp esi, dword [ecx]
jb 0x425a46
mov ebp, ecx
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0x14], ecx
jns 0x425a24
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x10
ret
mov edx, dword [ebp + 4]
dec edx
mov dword [esp + 0x14], edx
js 0x425d1a
jmp 0x425c00
mov edx, dword [esp + 0x14]
mov edi, edi
mov ecx, dword [ebp]
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
imul eax, ecx
imul eax, edx
shr eax, 3
add eax, esi
test ecx, ecx
mov dword [esp + 0x18], 0
jbe 0x425cfa
mov ecx, eax
mov edi, ebx
mov dword [esp + 0x1c], ecx
mov ebp, eax
mov dword [esp + 0x10], ebx
mov esi, eax
sub edi, eax
jmp 0x425c40
mov edx, dword [esp + 0x24]
movzx eax, byte [edx + 0x10]
add eax, 0xfffffff8
cmp eax, 0x18
ja case.0x425c57.9
movzx eax, byte [eax + 0x425dc0]
jmp dword [eax*4 + 0x425dac]
mov dl, byte [edi + ecx]
mov byte [ecx], dl
jmp case.0x425c57.9
xor eax, eax
mov ax, word [edi + esi]
mov dl, al
and dl, 0x1f
movzx dx, dl
mov ecx, eax
shr ecx, 5
shr eax, 0xa
and cl, 0x1f
and al, 0x1f
cmp dword [0x154709c], 0
movzx cx, cl
movzx ax, al
je 0x425ca5
shl eax, 5
or eax, ecx
mov ecx, dword [esp + 0x1c]
shl eax, 5
or eax, edx
mov word [esi], ax
jmp case.0x425c57.9
shl eax, 6
or eax, ecx
mov ecx, dword [esp + 0x1c]
shl eax, 5
or eax, edx
mov word [esi], ax
jmp case.0x425c57.9
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
mov dword [ebp], edx
jmp case.0x425c57.9
mov eax, dword [edi + ebp]
mov dword [ebp], eax
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
add edx, 3
inc eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x2c]
inc ecx
add esi, 2
add ebp, 4
cmp eax, dword [edx]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
jb 0x425c40
mov edi, dword [esp + 0x24]
mov ebp, edx
movzx eax, byte [edi + 0x10]
movzx ecx, word [edi + 0xc]
imul eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
add ebx, eax
dec dword [esp + 0x14]
jns 0x425bfa
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x10
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10
ret
sub esp, 0x20
push ebx
mov ebx, dword [esp + 0x28]
movsx eax, word [ebx + 4]
movsx ecx, word [ebx + 6]
push ebp
movsx ebp, word [ebx + 8]
sub ebp, eax
movsx eax, word [ebx + 0xa]
sub eax, ecx
inc ebp
push esi
inc eax
push edi
mov edi, dword [esp + 0x3c]
lea edx, [ebx + 0x80]
mov dword [edi], ebp
mov dword [edi + 4], eax
mov dword [esp + 0x1c], edx
mov dl, byte [ebx + 0x41]
mov ecx, ebp
and ecx, 1
cmp dl, 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], ecx
jne 0x4264c9
imul eax, ebp
push eax
call fcn.0047e540
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x3c]
push 0xc00
lea esi, [ebx + eax - 0x300]
call fcn.0047e540
add esp, 8
mov dword [edi + 0xc], eax
mov ecx, 0x40
lea ebx, [ebx]
movzx edx, byte [esi]
movzx edi, byte [esi + 1]
or edx, 0xffffff00
shl edx, 8
or edx, edi
movzx edi, byte [esi + 2]
shl edx, 8
or edx, edi
mov dword [eax], edx
movzx edx, byte [esi + 3]
movzx edi, byte [esi + 4]
or edx, 0xffffff00
shl edx, 8
or edx, edi
movzx edi, byte [esi + 5]
shl edx, 8
or edx, edi
mov dword [eax + 4], edx
movzx edx, byte [esi + 6]
movzx edi, byte [esi + 7]
or edx, 0xffffff00
shl edx, 8
or edx, edi
movzx edi, byte [esi + 8]
shl edx, 8
or edx, edi
mov dword [eax + 8], edx
movzx edx, byte [esi + 9]
movzx edi, byte [esi + 0xa]
or edx, 0xffffff00
shl edx, 8
or edx, edi
movzx edi, byte [esi + 0xb]
shl edx, 8
or edx, edi
mov dword [eax + 0xc], edx
add esi, 0xc
add eax, 0x10
dec ecx
jne 0x426440
jmp 0x4264de
add ecx, ebp
imul ecx, eax
shl ecx, 2
push ecx
call fcn.0047e540
add esp, 4
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
test eax, eax
mov edi, dword [esp + 0x14]
mov dword [esp + 0x20], edi
je 0x426597
mov dword [esp + 0x24], eax
movzx ecx, byte [ebx + 0x41]
imul ecx, ebp
test ecx, ecx
mov dword [esp + 0x10], 0
je 0x42658d
lea ecx, [ecx]
mov ecx, dword [esp + 0x1c]
mov dl, byte [ecx]
inc ecx
test dl, dl
mov dword [esp + 0x1c], ecx
jns 0x42656e
test dl, 0x40
je 0x42656e
mov al, byte [ecx]
inc ecx
mov dword [esp + 0x1c], ecx
mov cl, dl
and cl, 0x3f
je 0x426563
mov bl, al
mov bh, bl
movzx ecx, cl
mov dword [esp + 0x28], ecx
mov esi, ecx
shr ecx, 2
mov eax, ebx
shl eax, 0x10
mov ax, bx
mov ebx, dword [esp + 0x34]
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
rep stosb byte es:[edi], al
mov edi, dword [esp + 0x20]
mov eax, esi
add edi, eax
mov dword [esp + 0x20], edi
mov eax, dword [esp + 0x10]
and edx, 0x3f
add eax, edx
jmp 0x42657a
mov eax, dword [esp + 0x10]
mov byte [edi], dl
inc edi
mov dword [esp + 0x20], edi
inc eax
movzx edx, byte [ebx + 0x41]
imul edx, ebp
cmp eax, edx
mov dword [esp + 0x10], eax
jne 0x426510
mov eax, dword [esp + 0x18]
dec dword [esp + 0x24]
jne 0x4264f6
mov cl, byte [ebx + 0x41]
imul eax, ebp
cmp cl, 1
mov esi, dword [esp + 0x3c]
jne 0x4265d8
push eax
mov dword [esi + 8], 8
mov dword [esi + 0x14], eax
call fcn.0047e540
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x10], eax
mov esi, dword [esp + 0x18]
mov edi, eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
add esp, 4
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x426696
shl eax, 2
push eax
mov dword [esi + 8], 0x20
mov dword [esi + 0x14], eax
call fcn.0047e540
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x1c]
xor edx, edx
add esp, 4
cmp eax, edx
mov dword [esp + 0x20], edx
jle 0x426696
mov dword [esp + 0x34], edx
jmp 0x426610
movzx eax, byte [ebx + 0x41]
mov ecx, dword [esp + 0x14]
imul eax, edx
mov edi, dword [esp + 0x34]
imul eax, ebp
add eax, ecx
mov ecx, dword [esi + 0x10]
add ecx, edi
test ebp, ebp
jle 0x426674
mov edx, dword [esp + 0x2c]
add edx, ebp
mov dword [esp + 0x24], ebp
jmp 0x426640
movzx edi, byte [eax]
movzx esi, byte [edx + eax]
or edi, 0xffffff00
shl edi, 8
or esi, edi
movzx edi, byte [eax + edx*2]
shl esi, 8
or esi, edi
mov dword [ecx], esi
mov esi, dword [esp + 0x24]
add ecx, 4
inc eax
dec esi
mov dword [esp + 0x24], esi
jne 0x426640
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
lea eax, [ebp*4]
add ecx, eax
mov eax, dword [esp + 0x18]
inc edx
cmp edx, eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x34], ecx
jl 0x426610
mov eax, dword [esp + 0x14]
push eax
call fcn.0047e545
add esp, 4
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x20
ret
mov eax, dword [esp + 4]
cmp byte [eax], 0xa
jne 0x426bb2
mov dword [esp + 4], eax
jmp 0x4263c0
cmp word [eax], 0x4d42
jne 0x426bc2
mov dword [esp + 4], eax
jmp 0x425770
cmp byte [eax + 6], 0x4a
jne 0x426be5
mov dl, byte [eax + 7]
mov cl, 0x46
cmp dl, cl
jne 0x426be5
cmp byte [eax + 8], 0x49
jne 0x426be5
cmp byte [eax + 9], cl
jne 0x426be5
mov dword [esp + 4], eax
jmp fcn.004269e0
mov dword [esp + 4], eax
jmp 0x4258a0