Function at 0x415870
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0xc
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
push ebx
mov ebx, eax
push ebp
and ebx, 0xc0000000
and eax, 0x3fffffff
push esi
test edx, edx
push edi
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
jne 0x4158b5
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0xc
ret 0x10
mov ebp, dword [esp + 0x2c]
test ebp, ebp
jne 0x4158ce
test ebx, ebx
je 0x4158ea
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0xc
ret 0x10
test ebx, ebx
jg 0x4158f0
je 0x4158ea
cmp ebx, 0x80000000
je 0x4158e6
cmp ebx, 0xc0000000
je 0x4158ea
jmp 0x4158fc
mov edi, ebp
jmp 0x415900
lea edi, [esp + 0x10]
jmp 0x415900
cmp ebx, 0x40000000
lea edi, [esp + 0x14]
je 0x415900
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
cmp esi, 0x80120000
jg 0x415acc
je 0x415ac2
cmp esi, 0x80090000
jg 0x415a56
je 0x415a45
cmp esi, 0x80050000
jg 0x4159f9
je 0x4159ea
cmp esi, 0x80030000
jg 0x4159cf
je 0x415b82
cmp esi, 0x80010000
je 0x415992
cmp esi, 0x80020000
jne 0x415c50
test ebp, ebp
jne 0x415971
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0xc
ret 0x10
mov ecx, dword [edx]
mov eax, ebp
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov byte [ebp + 0x10], 0
mov dword [eax + 0xc], edx
jmp 0x415d5b
test ebp, ebp
jne 0x4159a3
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0xc
ret 0x10
add edx, 0x10
mov eax, ebp
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov cx, word [edx + 0xc]
mov word [eax + 0xc], cx
mov dl, byte [edx + 0xe]
mov byte [ebp + 0x10], 0
mov byte [eax + 0xe], dl
jmp 0x415d5b
cmp esi, 0x80040000
jne 0x415c50
mov ecx, dword [edx + 4]
mov eax, 4
mov dword [edi], ecx
jmp 0x415ce6
mov edx, dword [edx + 8]
mov eax, 4
mov dword [edi], edx
jmp 0x415ce6
cmp esi, 0x80060000
je 0x415a36
cmp esi, 0x80070000
je 0x415a26
cmp esi, 0x80080000
jne 0x415c50
mov ax, word [edx + 2]
mov word [edi], ax
mov eax, 2
jmp 0x415ce6
mov cx, word [edx]
mov eax, 2
mov word [edi], cx
jmp 0x415ce6
mov edx, dword [edx + 0xc]
mov eax, 4
mov dword [edi], edx
jmp 0x415ce6
mov ax, word [edx + 4]
mov word [edi], ax
mov eax, 2
jmp 0x415ce6
cmp esi, 0x800d0000
jg 0x415a92
je 0x415b20
cmp esi, 0x800a0000
je 0x415a81
cmp esi, 0x800b0000
je 0x415ab2
cmp esi, 0x800c0000
je 0x415ac2
jmp 0x415c50
mov cx, word [edx + 6]
mov eax, 2
mov word [edi], cx
jmp 0x415ce6
cmp esi, 0x800e0000
je 0x415b15
cmp esi, 0x80100000
je 0x415b2c
cmp esi, 0x80110000
jne 0x415c50
mov dx, word [edx]
mov eax, 2
mov word [edi], dx
jmp 0x415ce6
mov al, byte [edx + 2]
mov byte [edi], al
jmp 0x415ce1
cmp esi, 0x801c0000
jg 0x415be0
je 0x415bb4
cmp esi, 0x80160000
jg 0x415b62
je 0x415b2c
cmp esi, 0x80130000
je 0x415b20
cmp esi, 0x80140000
je 0x415b15
cmp esi, 0x80150000
jne 0x415c50
mov cx, word [edx + 4]
mov eax, 2
mov word [edi], cx
jmp 0x415ce6
mov dl, byte [edx + 3]
and dl, 0xf
jmp 0x415cdf
mov al, byte [edx + 3]
and al, 0xf0
mov byte [edi], al
jmp 0x415ce1
test ebp, ebp
jne 0x415b3d
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0xc
ret 0x10
lea edi, [edx + 6]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x415d5b
cmp esi, 0x80180000
je 0x415c02
cmp esi, 0x80190000
je 0x415b90
cmp esi, 0x801b0000
jne 0x415c50
mov eax, dword [edx]
mov dword [edi], eax
mov eax, 4
jmp 0x415ce6
xor eax, eax
lea esi, [edx + 2]
mov ax, word [edx]
mov edi, ebp
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x10
test ebp, ebp
jne 0x415bc5
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0xc
ret 0x10
mov eax, dword [edx + 4]
pop edi
mov dword [ebp], eax
mov ecx, dword [edx + 8]
mov dword [ebp + 4], ecx
pop esi
pop ebp
mov eax, 8
pop ebx
add esp, 0xc
ret 0x10
cmp esi, 0x80270000
jg 0x415c30
je 0x415c02
cmp esi, 0x80200000
je 0x415c21
cmp esi, 0x80210000
je 0x415c13
cmp esi, 0x80230000
jne 0x415c50
test ebp, ebp
jne 0x415b90
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0xc
ret 0x10
mov al, byte [edx]
shr al, 2
and al, 1
mov byte [edi], al
jmp 0x415ce1
mov cl, byte [edx]
shr cl, 3
and cl, 1
mov byte [edi], cl
jmp 0x415ce1
cmp esi, 0xc0010000
je 0x415cd8
cmp esi, 0xc0020000
je 0x415ccf
cmp esi, 0xc0030000
je 0x415cc4
cmp ebx, 0x40000000
jne 0x415c7f
cmp eax, 8
jle 0x415c6a
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0xc
ret 0x10
mov ecx, eax
add esi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x415d08
cmp eax, 4
jg 0x415c98
mov ecx, eax
add esi, edx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x415ce6
test ebp, ebp
jne 0x415ca9
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0xc
ret 0x10
mov ecx, eax
add esi, edx
mov edx, ecx
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov ebx, SysReAllocString
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x415ce6
mov al, byte [edx]
shr al, 6
and al, 1
mov byte [edi], al
jmp 0x415ce1
mov cl, byte [edx]
and cl, 1
mov byte [edi], cl
jmp 0x415ce1
mov dl, byte [edx]
shr dl, 1
and dl, 1
mov byte [edi], dl
mov eax, 1
test ebx, ebx
jne 0x415cf8
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x10
cmp ebx, 0x80000000
je 0x415d69
cmp ebx, 0x40000000
jne 0x415d43
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push eax
push ecx
push 0x43e260
push ebp
call fcn.00424f86
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [ecx + ebp - 1]
cmp eax, ebp
je 0x415d5b
cmp byte [eax], 0x20
jne 0x415d5b
mov byte [eax], 0
dec eax
cmp eax, ebp
jne 0x415d34
jmp 0x415d5b
cmp ebx, 0xc0000000
jne 0x415d5b
mov edx, dword [esp + 0x10]
push 0xa
push ebp
push edx
call fcn.0040b3bd
add esp, 0xc
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x10