Function at 0x425150
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x28
push ebx
push ebp
push esi
push edi
mov ebp, ecx
cmp dword [ebp + 0x20], 0
jne 0x4258d8
test byte [ebp], 8
jne 0x4258d8
mov edi, dword [ebp + 0x10]
xorps xmm0, xmm0
mov esi, dword [ebp + 0x4c]
mov eax, edi
mov ecx, dword [ebp + 0x14]
movlpd qword [esp + 0x30], xmm0
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ecx
test esi, esi
je 0x425596
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], eax
mov edx, 0x2014b50
mov ecx, ebp
call fcn.004259d0
mov edx, 0x201
mov ecx, ebp
call fcn.004259d0
mov edx, 0xb2d
mov ecx, ebp
call fcn.004259d0
mov edx, 0x2d
mov ecx, ebp
call fcn.004259d0
movzx edx, word [esi]
mov ecx, ebp
call fcn.004259d0
movzx edx, word [esi + 2]
mov ecx, ebp
call fcn.004259d0
mov edx, dword [esi + 4]
mov ecx, ebp
call fcn.004259d0
movzx edx, word [esi + 6]
mov ecx, ebp
call fcn.004259d0
mov edx, dword [esi + 8]
mov ecx, ebp
call fcn.004259d0
movzx edx, word [esi + 0xa]
mov ecx, ebp
call fcn.004259d0
cmp dword [esi + 0x14], 0
mov edx, dword [esi + 0x10]
ja 0x425233
cmp edx, 0xffffffff
jae 0x425233
mov ecx, ebp
call fcn.004259d0
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
shrd edx, eax, 0x10
jmp 0x425240
or edx, 0xffffffff
mov ecx, ebp
call fcn.004259d0
or edx, 0xffffffff
mov ecx, ebp
call fcn.004259d0
cmp dword [esi + 0x1c], 0
mov edx, dword [esi + 0x18]
ja 0x425268
cmp edx, 0xffffffff
jae 0x425268
mov ecx, ebp
call fcn.004259d0
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x1c]
shrd edx, eax, 0x10
jmp 0x425275
or edx, 0xffffffff
mov ecx, ebp
call fcn.004259d0
or edx, 0xffffffff
mov ecx, ebp
call fcn.004259d0
mov edx, dword [esi + 0x20]
mov ecx, ebp
call fcn.004259d0
mov edx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x38]
test edx, edx
ja 0x4252b7
jb 0x425297
cmp ecx, 0xffffffff
jae 0x4252b7
cmp dword [esi + 0x1c], 0
ja 0x4252b7
jb 0x4252a5
cmp dword [esi + 0x18], 0xffffffff
jae 0x4252b7
cmp dword [esi + 0x14], 0
ja 0x4252b7
jb 0x4252b3
cmp dword [esi + 0x10], 0xffffffff
jae 0x4252b7
xor eax, eax
jmp 0x4252ca
mov eax, 4
test edx, edx
jne 0x4252c5
cmp ecx, 0xffffffff
jb 0x4252ca
mov eax, 0xc
cmp dword [esi + 0x14], 0
ja 0x4252da
cmp dword [esi + 0x10], 0xffffffff
jae 0x4252da
xor edi, edi
jmp 0x4252df
mov edi, 8
cmp dword [esi + 0x1c], 0
ja 0x4252ef
cmp dword [esi + 0x18], 0xffffffff
jae 0x4252ef
xor ecx, ecx
jmp 0x4252f4
mov ecx, 8
lea edx, [eax + ecx]
mov ecx, ebp
add edx, edi
add edx, dword [esi + 0x28]
call fcn.004259d0
xor edx, edx
mov ecx, ebp
call fcn.004259d0
movzx edx, word [esi + 0x2c]
mov ecx, ebp
call fcn.004259d0
movzx edx, word [esi + 0x2e]
mov ecx, ebp
call fcn.004259d0
mov edx, dword [esi + 0x34]
mov ecx, ebp
call fcn.004259d0
movzx edx, word [esi + 0x36]
mov ecx, ebp
call fcn.004259d0
cmp dword [esi + 0x3c], 0
mov edx, dword [esi + 0x38]
ja 0x425358
cmp edx, 0xffffffff
jae 0x425358
mov ecx, ebp
call fcn.004259d0
mov edx, dword [esi + 0x38]
mov eax, dword [esi + 0x3c]
shrd edx, eax, 0x10
jmp 0x425365
or edx, 0xffffffff
mov ecx, ebp
call fcn.004259d0
or edx, 0xffffffff
mov ecx, ebp
call fcn.004259d0
push dword [esi + 0x20]
lea edx, [esi + 0x48]
mov ecx, ebp
call fcn.00425b40
add esp, 4
cmp dword [esi + 0x3c], 0
ja 0x4253a8
jb 0x42538a
cmp dword [esi + 0x38], 0xffffffff
jae 0x4253a8
cmp dword [esi + 0x1c], 0
ja 0x4253a8
jb 0x425398
cmp dword [esi + 0x18], 0xffffffff
jae 0x4253a8
cmp dword [esi + 0x14], 0
ja 0x4253a8
cmp dword [esi + 0x10], 0xffffffff
jb 0x4254d4
mov edx, 1
mov ecx, ebp
call fcn.004259d0
cmp dword [esi + 0x3c], 0
ja 0x4253c4
cmp dword [esi + 0x38], 0xffffffff
jae 0x4253c4
xor edi, edi
jmp 0x4253c9
mov edi, 8
cmp dword [esi + 0x14], 0
ja 0x4253d9
cmp dword [esi + 0x10], 0xffffffff
jae 0x4253d9
xor ecx, ecx
jmp 0x4253de
mov ecx, 8
cmp dword [esi + 0x1c], 0
ja 0x4253ee
cmp dword [esi + 0x18], 0xffffffff
jae 0x4253ee
xor eax, eax
jmp 0x4253f3
mov eax, 8
lea edx, [eax + ecx]
mov ecx, ebp
add edx, edi
call fcn.004259d0
cmp dword [esi + 0x1c], 0
mov edx, dword [esi + 0x18]
ja 0x42540d
cmp edx, 0xffffffff
jb 0x425446
mov ecx, ebp
call fcn.004259d0
mov edx, dword [esi + 0x18]
mov ecx, ebp
mov eax, dword [esi + 0x1c]
shrd edx, eax, 0x10
call fcn.004259d0
mov eax, dword [esi + 0x18]
mov cl, 0x20
mov edx, dword [esi + 0x1c]
call fcn.004e87a0
mov edx, eax
mov ecx, ebp
call fcn.004259d0
movzx edx, word [esi + 0x1e]
mov ecx, ebp
call fcn.004259d0
cmp dword [esi + 0x14], 0
mov edx, dword [esi + 0x10]
ja 0x425454
cmp edx, 0xffffffff
jb 0x42548d
mov ecx, ebp
call fcn.004259d0
mov edx, dword [esi + 0x10]
mov ecx, ebp
mov eax, dword [esi + 0x14]
shrd edx, eax, 0x10
call fcn.004259d0
mov eax, dword [esi + 0x10]
mov cl, 0x20
mov edx, dword [esi + 0x14]
call fcn.004e87a0
mov edx, eax
mov ecx, ebp
call fcn.004259d0
movzx edx, word [esi + 0x16]
mov ecx, ebp
call fcn.004259d0
cmp dword [esi + 0x3c], 0
mov edx, dword [esi + 0x38]
ja 0x42549b
cmp edx, 0xffffffff
jb 0x4254d4
mov ecx, ebp
call fcn.004259d0
mov edx, dword [esi + 0x38]
mov ecx, ebp
mov eax, dword [esi + 0x3c]
shrd edx, eax, 0x10
call fcn.004259d0
mov eax, dword [esi + 0x38]
mov cl, 0x20
mov edx, dword [esi + 0x3c]
call fcn.004e87a0
mov edx, eax
mov ecx, ebp
call fcn.004259d0
movzx edx, word [esi + 0x3e]
mov ecx, ebp
call fcn.004259d0
mov eax, dword [esi + 0x28]
test eax, eax
je 0x4254e9
mov edx, dword [esi + 0x44]
mov ecx, ebp
push eax
call fcn.00425b40
add esp, 4
mov edx, dword [esi + 0x3c]
mov eax, dword [esi + 0x38]
test edx, edx
ja 0x42551d
jb 0x4254fa
cmp eax, 0xffffffff
jae 0x42551d
cmp dword [esi + 0x1c], 0
ja 0x42551d
jb 0x425508
cmp dword [esi + 0x18], 0xffffffff
jae 0x42551d
cmp dword [esi + 0x14], 0
ja 0x42551d
jb 0x425516
cmp dword [esi + 0x10], 0xffffffff
jae 0x42551d
mov ecx, 0x2e
jmp 0x425530
mov ecx, 0x32
test edx, edx
jne 0x42552b
cmp eax, 0xffffffff
jb 0x425530
mov ecx, 0x3a
cmp dword [esi + 0x14], 0
ja 0x425540
cmp dword [esi + 0x10], 0xffffffff
jae 0x425540
xor edx, edx
jmp 0x425545
mov edx, 8
cmp dword [esi + 0x1c], 0
ja 0x425555
cmp dword [esi + 0x18], 0xffffffff
jae 0x425555
xor eax, eax
jmp 0x42555a
mov eax, 8
add eax, edx
add eax, ecx
add eax, dword [esi + 0x28]
add eax, dword [esi + 0x20]
add dword [ebp + 0x10], eax
push esi
adc dword [ebp + 0x14], 0
add ebx, 1
mov edi, dword [esi + 0x14c]
adc dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov esi, edi
test edi, edi
jne 0x4251a3
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov edi, dword [esp + 0x20]
jmp 0x42559e
mov edx, dword [esp + 0x34]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ebx
test ecx, ecx
jne 0x42561f
cmp eax, 0xffffffff
jae 0x42561f
mov edx, 0x6054b50
mov ecx, ebp
call fcn.004259d0
mov edx, 0x605
mov ecx, ebp
call fcn.004259d0
xor edx, edx
mov ecx, ebp
call fcn.004259d0
xor edx, edx
mov ecx, ebp
call fcn.004259d0
mov edx, ebx
mov ecx, ebp
call fcn.004259d0
mov edx, ebx
mov ecx, ebp
call fcn.004259d0
mov esi, dword [ebp + 0x10]
mov ecx, ebp
sub esi, edi
mov edx, esi
call fcn.004259d0
shr esi, 0x10
mov ecx, ebp
mov edx, esi
call fcn.004259d0
add edi, dword [ebp + 0x18]
mov ecx, ebp
mov ebx, dword [esp + 0x24]
mov edx, edi
adc ebx, 0
call fcn.004259d0
shrd edi, ebx, 0x10
mov edx, edi
jmp 0x4258bc
add eax, dword [ebp + 0x18]
mov edx, 0x6064b50
mov ebx, dword [ebp + 0x1c]
adc ebx, ecx
mov dword [esp + 0x28], eax
mov ecx, ebp
call fcn.004259d0
mov edx, 0x606
mov ecx, ebp
call fcn.004259d0
mov edx, 0x2c
mov ecx, ebp
call fcn.004259d0
xor edx, edx
mov ecx, ebp
call fcn.004259d0
xor edx, edx
mov ecx, ebp
call fcn.004259d0
xor edx, edx
mov ecx, ebp
call fcn.004259d0
mov edx, 0xb2d
mov ecx, ebp
call fcn.004259d0
mov edx, 0x2d
mov ecx, ebp
call fcn.004259d0
xor edx, edx
mov ecx, ebp
call fcn.004259d0
xor edx, edx
mov ecx, ebp
call fcn.004259d0
xor edx, edx
mov ecx, ebp
call fcn.004259d0
xor edx, edx
mov ecx, ebp
call fcn.004259d0
mov edx, dword [esp + 0x18]
mov ecx, ebp
call fcn.004259d0
mov esi, dword [esp + 0x14]
mov ecx, ebp
mov edi, dword [esp + 0x18]
mov eax, esi
shrd edi, eax, 0x10
mov edx, edi
call fcn.004259d0
mov edx, esi
mov ecx, ebp
call fcn.004259d0
shr esi, 0x10
mov ecx, ebp
mov edx, esi
call fcn.004259d0
mov edx, dword [esp + 0x18]
mov ecx, ebp
call fcn.004259d0
mov edx, edi
mov ecx, ebp
call fcn.004259d0
mov edx, dword [esp + 0x14]
mov ecx, ebp
call fcn.004259d0
mov edx, esi
mov ecx, ebp
call fcn.004259d0
mov esi, dword [ebp + 0x10]
mov ecx, ebp
mov edi, dword [esp + 0x20]
sub esi, edi
mov eax, dword [ebp + 0x14]
mov edx, esi
sbb eax, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
call fcn.004259d0
mov eax, dword [esp + 0x1c]
mov ecx, esi
shrd ecx, eax, 0x10
mov dword [esp + 0x2c], ecx
mov edx, ecx
mov ecx, ebp
call fcn.004259d0
mov edx, dword [esp + 0x1c]
mov ecx, ebp
call fcn.004259d0
mov edx, dword [esp + 0x1c]
mov ecx, ebp
shr edx, 0x10
call fcn.004259d0
add edi, dword [ebp + 0x18]
mov ecx, ebp
mov eax, dword [ebp + 0x1c]
mov edx, edi
adc eax, dword [esp + 0x24]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], eax
call fcn.004259d0
mov ecx, edi
mov edi, dword [esp + 0x24]
mov eax, edi
shrd ecx, eax, 0x10
mov dword [esp + 0x30], ecx
mov edx, ecx
mov ecx, ebp
call fcn.004259d0
mov edx, edi
mov ecx, ebp
call fcn.004259d0
mov edx, edi
mov ecx, ebp
shr edx, 0x10
call fcn.004259d0
add dword [ebp + 0x10], 0x38
mov edx, 0x7064b50
mov ecx, ebp
adc dword [ebp + 0x14], 0
call fcn.004259d0
mov edx, 0x706
mov ecx, ebp
call fcn.004259d0
xor edx, edx
mov ecx, ebp
call fcn.004259d0
xor edx, edx
mov ecx, ebp
call fcn.004259d0
mov edi, dword [esp + 0x28]
mov ecx, ebp
mov edx, edi
call fcn.004259d0
mov eax, ebx
mov ecx, ebp
shrd edi, eax, 0x10
mov edx, edi
call fcn.004259d0
mov edx, ebx
mov ecx, ebp
call fcn.004259d0
shr ebx, 0x10
mov ecx, ebp
mov edx, ebx
call fcn.004259d0
mov edx, 1
mov ecx, ebp
call fcn.004259d0
xor edx, edx
mov ecx, ebp
call fcn.004259d0
add dword [ebp + 0x10], 0x14
mov edx, 0x6054b50
mov ecx, ebp
adc dword [ebp + 0x14], 0
call fcn.004259d0
mov edx, 0x605
mov ecx, ebp
call fcn.004259d0
xor edx, edx
mov ecx, ebp
call fcn.004259d0
xor edx, edx
mov ecx, ebp
call fcn.004259d0
cmp dword [esp + 0x14], 0
ja 0x425858
mov ebx, dword [esp + 0x18]
cmp ebx, 0xff
jb 0x42585b
or ebx, 0xffffffff
mov edx, ebx
mov ecx, ebp
call fcn.004259d0
mov edx, ebx
mov ecx, ebp
call fcn.004259d0
cmp dword [esp + 0x1c], 0
ja 0x42587f
cmp esi, 0xffffffff
jae 0x42587f
mov edi, dword [esp + 0x2c]
jmp 0x425885
or edi, 0xffffffff
or esi, 0xffffffff
mov edx, esi
mov ecx, ebp
call fcn.004259d0
mov edx, edi
mov ecx, ebp
call fcn.004259d0
cmp dword [esp + 0x24], 0
ja 0x4258ad
mov edx, dword [esp + 0x20]
cmp edx, 0xffffffff
jae 0x4258ad
mov esi, dword [esp + 0x30]
jmp 0x4258b3
or esi, 0xffffffff
or edx, 0xffffffff
mov ecx, ebp
call fcn.004259d0
mov edx, esi
mov ecx, ebp
call fcn.004259d0
xor edx, edx
mov ecx, ebp
call fcn.004259d0
add dword [ebp + 0x10], 0x16
adc dword [ebp + 0x14], 0
or dword [ebp], 8
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret