Function at 0x417440
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x30
push ebx
push ebp
mov ebp, dword [esp + 0x3c]
push esi
push edi
push ebp
mov ecx, dword [ebp + 0x94]
mov eax, dword [ebp + 0x90]
mov dword [esp + 0x30], ecx
mov ecx, dword [ebp + 0x2c]
mov dword [esp + 0x48], ecx
mov ecx, dword [ebp + 4]
mov edi, dword [ebp + 0xd0]
mov dword [esp + 0x34], eax
mov esi, dword [ecx + 8]
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x20], ecx
mov ecx, esi
sub ecx, eax
mov edx, dword [ebp + 0x98]
mov dword [esp + 0x24], ecx
mov ecx, edi
and cl, 0x20
mov dword [esp + 0x2c], edx
mov edx, dword [ebp + 0x34]
mov dword [esp + 0x14], eax
neg cl
sbb ecx, ecx
mov dword [esp + 0x1c], edx
and ecx, 0xfffffffe
mov ebx, dword [ebp + 0xc0]
inc ecx
imul ecx, dword [edx + 8]
mov edx, edi
and dl, 0x10
neg dl
sbb edx, edx
and edx, 0xfffffffe
inc edx
imul edx, eax
mov eax, dword [ebp + 0xc]
sub ecx, edx
imul eax, esi
mov dword [esp + 0x28], ecx
mov ecx, dword [ebp + 8]
add eax, ecx
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
lea esi, [edx + eax*2]
call fcn.00414930
mov ecx, dword [esp + 0x1c]
add esp, 4
mov edx, dword [ecx]
mov ecx, dword [esp + 0x30]
lea edi, [edx + eax*2]
mov eax, 0x80
cmp ecx, eax
jne 0x41797c
cmp dword [esp + 0x2c], eax
jne 0x41797c
cmp dword [esp + 0x28], eax
jne 0x41797c
cmp ebx, 0xffffffff
jne 0x41758a
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
cmp eax, dword [ecx + 8]
jne 0x41754c
mov edx, dword [esp + 0x18]
cmp eax, dword [edx + 8]
jne 0x41754c
mov eax, dword [esp + 0x44]
imul eax, dword [esp + 0x10]
add eax, eax
push eax
push edi
push esi
call fcn.004915f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov ebx, dword [esp + 0x44]
test ebx, ebx
jle 0x417eee
lea ebp, [eax + eax]
push ebp
push edi
push esi
call fcn.004915f0
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
add esp, 0xc
dec ebx
mov ecx, dword [eax + 8]
mov eax, dword [edx + 8]
lea esi, [esi + ecx*2]
lea edi, [edi + eax*2]
jne 0x41755b
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x30
ret
cmp ebx, 0xfffffffe
jne 0x41783f
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 4]
test eax, eax
je 0x41783f
push ebp
call fcn.00414930
mov edx, dword [esp + 0x1c]
mov ebp, eax
add esp, 4
mov ecx, dword [edx + 4]
add ebp, ecx
mov ecx, dword [esp + 0x44]
test ecx, ecx
jle 0x417eee
mov eax, dword [esp + 0x10]
mov ebx, 4
cdq
idiv ebx
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x20]
add edx, edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x20], ecx
mov edx, 0xff
jmp 0x4175ef
mov eax, dword [esp + 0x2c]
test eax, eax
jle 0x417790
mov dword [esp + 0x30], eax
mov cl, byte [ebp]
test cl, cl
jne 0x41761b
mov al, byte [ebp + 1]
test al, al
jne 0x41761b
mov al, byte [ebp + 2]
test al, al
jne 0x41761b
mov al, byte [ebp + 3]
test al, al
je 0x417778
cmp cl, dl
jne 0x41763d
cmp byte [ebp + 1], dl
jne 0x41763d
cmp byte [ebp + 2], dl
jne 0x41763d
cmp byte [ebp + 3], dl
jne 0x41763d
mov eax, dword [edi]
mov dword [esi], eax
mov ecx, dword [edi + 4]
mov dword [esi + 4], ecx
jmp 0x417778
mov ax, word [0x66eb5c]
and ecx, edx
shr ecx, 3
mov ebx, 0x1f
sub ebx, ecx
mov cx, word [esi]
mov dx, cx
and ecx, 0xffff
shr dx, 5
shr ax, 5
and edx, eax
mov eax, dword [0x66eb5c]
imul edx, ebx
and edx, eax
mov eax, dword [0x66eb6c]
and ecx, eax
imul ecx, ebx
shr ecx, 5
and ecx, eax
mov ebx, 0x1f
or edx, ecx
xor ecx, ecx
add dx, word [edi]
mov word [esi], dx
mov cl, byte [ebp + 1]
mov ax, word [0x66eb5c]
shr ecx, 3
sub ebx, ecx
mov cx, word [esi + 2]
mov dx, cx
and ecx, 0xffff
shr dx, 5
shr ax, 5
and edx, eax
mov eax, dword [0x66eb5c]
imul edx, ebx
and edx, eax
mov eax, dword [0x66eb6c]
and ecx, eax
imul ecx, ebx
shr ecx, 5
and ecx, eax
mov ebx, 0x1f
or edx, ecx
xor ecx, ecx
add dx, word [edi + 2]
mov word [esi + 2], dx
mov cl, byte [ebp + 2]
mov ax, word [0x66eb5c]
shr ecx, 3
sub ebx, ecx
mov cx, word [esi + 4]
mov dx, cx
and ecx, 0xffff
shr dx, 5
shr ax, 5
and edx, eax
mov eax, dword [0x66eb5c]
imul edx, ebx
and edx, eax
mov eax, dword [0x66eb6c]
and ecx, eax
imul ecx, ebx
shr ecx, 5
and ecx, eax
mov ebx, 0x1f
or edx, ecx
xor ecx, ecx
add dx, word [edi + 4]
mov word [esi + 4], dx
mov cl, byte [ebp + 3]
mov ax, word [0x66eb5c]
shr ecx, 3
sub ebx, ecx
mov cx, word [esi + 6]
mov dx, cx
shr dx, 5
shr ax, 5
and edx, eax
mov eax, dword [0x66eb5c]
imul edx, ebx
and edx, eax
mov eax, dword [0x66eb6c]
and ecx, 0xffff
and ecx, eax
imul ecx, ebx
shr ecx, 5
and ecx, eax
or edx, ecx
add dx, word [edi + 6]
mov word [esi + 6], dx
mov edx, 0xff
mov eax, dword [esp + 0x30]
add esi, 8
add edi, 8
add ebp, 4
dec eax
mov dword [esp + 0x30], eax
jne 0x4175fb
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x417812
mov dword [esp + 0x30], eax
mov cl, byte [ebp]
test cl, cl
je 0x417800
cmp cl, dl
jne 0x4177af
mov cx, word [edi]
mov word [esi], cx
jmp 0x417800
and ecx, edx
mov dx, word [0x66eb5c]
shr ecx, 3
mov eax, 0x1f
sub eax, ecx
mov cx, word [esi]
mov bx, cx
and ecx, 0xffff
shr bx, 5
shr dx, 5
and ebx, edx
mov edx, dword [0x66eb5c]
imul ebx, eax
and ebx, edx
mov edx, dword [0x66eb6c]
and ecx, edx
imul ecx, eax
shr ecx, 5
and ecx, edx
mov edx, 0xff
or ebx, ecx
add bx, word [edi]
mov word [esi], bx
mov eax, dword [esp + 0x30]
add esi, 2
add edi, 2
inc ebp
dec eax
mov dword [esp + 0x30], eax
jne 0x41779c
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x24]
add esi, eax
add ebp, ecx
lea eax, [ecx + ecx]
add edi, eax
mov eax, dword [esp + 0x20]
dec eax
mov dword [esp + 0x20], eax
jne 0x4175eb
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x30
ret
mov ecx, dword [esp + 0x44]
test ecx, ecx
jle 0x417eee
mov eax, dword [esp + 0x10]
mov ebp, 4
cdq
idiv ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x30], ecx
add ebp, ebp
mov dword [esp + 0x44], ebp
mov ebp, dword [esp + 0x24]
add ebp, ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
jmp 0x41787d
mov eax, dword [esp + 0x2c]
test eax, eax
jle 0x417934
mov bp, word [edi]
mov ecx, ebp
and ecx, 0xffff
cmp ecx, ebx
je 0x4178c2
xor edx, edx
mov dx, word [edi + 2]
cmp edx, ebx
je 0x4178be
xor edx, edx
mov dx, word [edi + 4]
cmp edx, ebx
je 0x4178be
xor edx, edx
mov dx, word [edi + 6]
cmp edx, ebx
je 0x4178be
mov ecx, dword [edi]
mov dword [esi], ecx
mov edx, dword [edi + 4]
mov dword [esi + 4], edx
jmp 0x417923
cmp ecx, ebx
jne 0x4178e4
xor edx, edx
mov dx, word [edi + 2]
cmp edx, ebx
jne 0x4178e0
xor edx, edx
mov dx, word [edi + 4]
cmp edx, ebx
jne 0x4178e0
xor edx, edx
mov dx, word [edi + 6]
cmp edx, ebx
je 0x417923
cmp ecx, ebx
je 0x4178e7
mov word [esi], bp
mov cx, word [edi + 2]
mov edx, ecx
and edx, 0xffff
cmp edx, ebx
je 0x4178fb
mov word [esi + 2], cx
mov cx, word [edi + 4]
mov edx, ecx
and edx, 0xffff
cmp edx, ebx
je 0x41790f
mov word [esi + 4], cx
mov cx, word [edi + 6]
mov edx, ecx
and edx, 0xffff
cmp edx, ebx
je 0x417923
mov word [esi + 6], cx
add esi, 8
add edi, 8
dec eax
jne 0x417885
mov edx, dword [esp + 0x28]
test edx, edx
jle 0x417954
mov ebp, edx
mov cx, word [edi]
mov eax, ecx
and eax, 0xffff
cmp eax, ebx
je 0x41794b
mov word [esi], cx
add esi, 2
add edi, 2
dec ebp
jne 0x41793a
mov ebp, dword [esp + 0x44]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x30]
add esi, ebp
add edi, ecx
dec eax
mov dword [esp + 0x30], eax
jne 0x417879
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x30
ret
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
push ecx
push edx
push eax
call fcn.00405cd0
add esp, 0xc
cmp ebx, 0xffffffff
mov dword [esp + 0x14], eax
jne 0x417ac0
mov edx, dword [esp + 0x30]
cmp edx, 0xff
jne 0x417a72
mov ecx, dword [esp + 0x2c]
cmp ecx, edx
jne 0x4179c4
mov eax, dword [esp + 0x28]
cmp eax, edx
je 0x417a92
mov ecx, dword [esp + 0x44]
test ecx, ecx
jle 0x417eee
mov eax, dword [esp + 0x10]
mov ebx, 2
cdq
idiv ebx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x20]
add edx, edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x24]
add edx, edx
mov dword [esp + 0x24], edx
test eax, eax
jle 0x417a33
mov ebx, eax
xor eax, eax
xor edx, edx
mov ax, word [edi + 2]
xor ebp, ebp
add esi, 4
add edi, 4
mov dx, word [ecx + eax*2]
xor eax, eax
mov ax, word [edi - 4]
shl edx, 0x10
mov bp, word [ecx + eax*2]
or edx, ebp
dec ebx
mov dword [esi - 4], edx
jne 0x417a06
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x417a4e
xor edx, edx
add esi, 2
mov dx, word [edi]
add edi, 2
mov dx, word [ecx + edx*2]
mov word [esi - 2], dx
mov ebp, dword [esp + 0x44]
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
add esi, ebp
add edi, ebx
dec edx
mov dword [esp + 0x30], edx
jne 0x417a00
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x30
ret
test edx, edx
jne 0x4179c4
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x4179c4
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x4179c4
push 0
push eax
mov eax, dword [ebp + 0xc]
push ecx
mov ecx, dword [esp + 0x50]
push edx
mov edx, dword [esp + 0x20]
push 0
push ecx
mov ecx, dword [ebp + 8]
push edx
mov edx, dword [esp + 0x38]
push eax
push ecx
push edx
call fcn.0045c250
add esp, 0x28
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
cmp ebx, 0xfffffffe
jne 0x417e13
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x417e13
push ebp
call fcn.00414930
mov edx, dword [esp + 0x1c]
mov ecx, eax
add esp, 4
mov ebx, dword [edx + 4]
add ecx, ebx
mov ebx, dword [esp + 0x44]
test ebx, ebx
mov dword [esp + 0x1c], ecx
jle 0x417eee
mov eax, dword [esp + 0x10]
mov ebp, 2
cdq
idiv ebp
mov dword [esp + 0x34], ebx
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x20]
add edx, edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x14]
jmp 0x417b28
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x417cfb
mov dword [esp + 0x20], eax
mov al, byte [ecx]
test al, al
jne 0x417b45
mov bl, byte [ecx + 1]
test bl, bl
je 0x417cdf
cmp al, 0xff
jne 0x417b71
cmp byte [ecx + 1], al
jne 0x417b71
xor eax, eax
xor ebx, ebx
mov ax, word [edi + 2]
xor ebp, ebp
mov bx, word [edx + eax*2]
xor eax, eax
mov ax, word [edi]
shl ebx, 0x10
mov bp, word [edx + eax*2]
or ebx, ebp
mov dword [esi], ebx
jmp 0x417cdf
mov ebx, dword [0x66eb5c]
and eax, 0xff
shr eax, 3
mov ecx, 0x1f
and ebx, 0xffff
sub ecx, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], ecx
xor ecx, ecx
mov cx, word [edi]
lea ebp, [eax + 1]
mov eax, ebx
and eax, ecx
shl eax, 5
cdq
idiv ebp
mov edx, dword [0x66eb6c]
and eax, ebx
mov dword [esp + 0x30], eax
mov eax, ecx
and eax, edx
xor edx, edx
shl eax, 5
div ebp
mov ebp, dword [0x66eb6c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
and eax, ebp
or ecx, eax
mov ax, word [edx + ecx*2]
xor ecx, ecx
mov cx, word [esi]
and eax, 0xffff
mov ebp, eax
mov edx, ecx
and ebp, ebx
and edx, ebx
mov ebx, dword [esp + 0x10]
imul ebp, dword [esp + 0x18]
imul edx, ebx
add ebp, edx
mov edx, dword [0x66eb5c]
sar ebp, 5
and ebp, edx
mov edx, dword [0x66eb6c]
and eax, edx
and ecx, edx
imul eax, dword [esp + 0x18]
imul ecx, ebx
add eax, ecx
mov ecx, dword [esp + 0x1c]
shr eax, 5
and eax, edx
mov ebx, 0x1f
or ebp, eax
xor eax, eax
mov word [esi], bp
mov al, byte [ecx + 1]
mov ecx, dword [0x66eb5c]
xor edx, edx
mov dx, word [edi + 2]
and ecx, 0xffff
shr eax, 3
mov dword [esp + 0x18], eax
sub ebx, eax
lea ebp, [eax + 1]
mov eax, ecx
and eax, edx
mov dword [esp + 0x38], edx
shl eax, 5
cdq
idiv ebp
mov edx, dword [0x66eb6c]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x30], ecx
and eax, ecx
mov ecx, eax
mov eax, dword [esp + 0x38]
and eax, edx
shl eax, 5
xor edx, edx
div ebp
mov ebp, dword [0x66eb6c]
mov edx, dword [esp + 0x14]
and eax, ebp
or ecx, eax
xor eax, eax
mov ax, word [esi + 2]
mov cx, word [edx + ecx*2]
mov edx, dword [esp + 0x30]
mov ebp, eax
and ecx, 0xffff
and ebp, edx
imul ebp, ebx
mov ebx, ecx
and ebx, edx
mov edx, ebx
mov ebx, dword [esp + 0x18]
imul edx, ebx
add ebp, edx
mov edx, dword [0x66eb5c]
sar ebp, 5
and ebp, edx
mov edx, dword [0x66eb6c]
and eax, edx
and ecx, edx
imul eax, dword [esp + 0x10]
imul ecx, ebx
add eax, ecx
mov ecx, dword [esp + 0x1c]
shr eax, 5
and eax, edx
mov edx, dword [esp + 0x14]
or ebp, eax
mov word [esi + 2], bp
mov eax, dword [esp + 0x20]
add esi, 4
add edi, 4
add ecx, 2
dec eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
jne 0x417b34
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x417de2
mov al, byte [ecx]
cmp al, 0xff
jne 0x417d1e
xor eax, eax
mov ax, word [edi]
mov ax, word [edx + eax*2]
mov word [esi], ax
jmp 0x417ddb
mov ecx, dword [0x66eb5c]
and eax, 0xff
shr eax, 3
mov ebx, eax
mov eax, 0x1f
sub eax, ebx
xor edx, edx
mov dx, word [edi]
and ecx, 0xffff
mov dword [esp + 0x10], eax
mov eax, ecx
and eax, edx
mov dword [esp + 0x3c], edx
shl eax, 5
cdq
lea ebp, [ebx + 1]
mov dword [esp + 0x30], ecx
idiv ebp
mov edx, dword [0x66eb6c]
mov dword [esp + 0x18], ebx
and eax, ecx
mov ecx, eax
mov eax, dword [esp + 0x3c]
and eax, edx
xor edx, edx
shl eax, 5
div ebp
mov ebp, dword [0x66eb6c]
mov edx, dword [esp + 0x14]
and eax, ebp
or ecx, eax
mov ax, word [edx + ecx*2]
mov edx, dword [esp + 0x30]
and eax, 0xffff
xor ecx, ecx
mov cx, word [esi]
mov ebp, eax
and ebp, edx
imul ebp, ebx
mov ebx, ecx
and ebx, edx
mov edx, ebx
mov ebx, dword [esp + 0x10]
imul edx, ebx
add ebp, edx
mov edx, dword [0x66eb5c]
sar ebp, 5
and ebp, edx
mov edx, dword [0x66eb6c]
and eax, edx
and ecx, edx
imul eax, dword [esp + 0x18]
imul ecx, ebx
add eax, ecx
mov ecx, dword [esp + 0x1c]
shr eax, 5
and eax, edx
mov edx, dword [esp + 0x14]
or ebp, eax
mov word [esi], bp
add esi, 2
add edi, 2
inc ecx
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x24]
add esi, eax
add ecx, ebx
lea eax, [ebx + ebx]
mov dword [esp + 0x1c], ecx
add edi, eax
mov eax, dword [esp + 0x34]
dec eax
mov dword [esp + 0x34], eax
jne 0x417b24
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x30
ret
mov ecx, dword [esp + 0x44]
test ecx, ecx
jle 0x417eee
mov eax, dword [esp + 0x10]
mov ebp, 2
cdq
idiv ebp
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], edx
mov edx, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x28], edx
add eax, eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x24]
add eax, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
test edx, edx
jle 0x417eb5
mov dword [esp + 0x34], edx
xor ecx, ecx
mov cx, word [edi]
cmp ecx, ebx
je 0x417e8e
xor edx, edx
mov dx, word [edi + 2]
cmp edx, ebx
je 0x417e81
xor ebp, ebp
mov bp, word [eax + edx*2]
xor edx, edx
mov dx, word [eax + ecx*2]
shl ebp, 0x10
or ebp, edx
mov dword [esi], ebp
jmp 0x417ea0
cmp ecx, ebx
je 0x417e8e
mov cx, word [eax + ecx*2]
mov word [esi], cx
jmp 0x417ea0
xor ecx, ecx
mov cx, word [edi + 2]
cmp ecx, ebx
je 0x417ea0
mov dx, word [eax + ecx*2]
mov word [esi + 2], dx
mov ecx, dword [esp + 0x34]
add esi, 4
add edi, 4
dec ecx
mov dword [esp + 0x34], ecx
jne 0x417e59
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x417ed3
xor ecx, ecx
mov cx, word [edi]
cmp ecx, ebx
je 0x417ecd
mov cx, word [eax + ecx*2]
mov word [esi], cx
add esi, 2
add edi, 2
mov ecx, dword [esp + 0x44]
mov ebp, dword [esp + 0x24]
add esi, ecx
mov ecx, dword [esp + 0x30]
add edi, ebp
dec ecx
mov dword [esp + 0x30], ecx
jne 0x417e51
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x30
ret