Function at 0x464080
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x20
mov eax, dword [esp + 0x2c]
push ebx
push ebp
xor ebp, ebp
xor ebx, ebx
mov dword [esp + 8], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], ebx
push edi
test eax, eax
je 0x4640b3
test dword [eax], 0x8000
je 0x4640b3
mov eax, dword [eax + 8]
movzx eax, word [eax + 4]
mov dword [esp + 0x10], eax
jmp 0x4640b7
mov dword [esp + 0x10], ebx
push esi
mov esi, dword [esp + 0x40]
mov eax, 0x200
test esi, esi
je 0x4640dc
test word [esi + 4], ax
jne 0x4640dc
mov esi, dword [esi + 0xc]
test esi, esi
je 0x4640da
mov esi, dword [esi]
test word [esi + 4], ax
jne 0x4640dc
xor esi, esi
push 0x5c
call fcn.004602a0
mov edi, eax
add esp, 4
test edi, edi
jne 0x4640fc
push eax
push eax
push eax
push 0x232e
call fcn.0044a4a0
add esp, 0x10
push 0x58
lea eax, [edi + 4]
mov dword [edi], 1
push 0
push eax
call fcn.0052b3e0
mov cx, word [0x7eefd0]
mov edi, eax
mov ax, word [0x7eefcc]
add esp, 0xc
cmp cx, ax
jne 0x46415a
add ax, 0x40
mov word [0x7eefcc], ax
movzx eax, ax
lea eax, [eax*4 + 4]
push eax
push dword [0x7eefc8]
call fcn.0047fb20
mov cx, word [0x7eefd0]
mov edx, eax
add esp, 8
mov dword [0x7eefc8], edx
jmp 0x464160
mov edx, dword [0x7eefc8]
push dword [esp + 0x34]
inc cx
movzx eax, cx
mov word [edi + 0x34], cx
mov word [0x7eefd0], cx
mov dword [edx + eax*4], edi
call fcn.004e96e0
push eax
mov dword [edi], eax
call fcn.004654a0
add esp, 8
mov dword [edi + 4], eax
test esi, esi
jne 0x4641b0
mov esi, dword [eax]
test esi, esi
je 0x4641b0
mov eax, 0x200
test word [esi + 4], ax
jne 0x4641b0
mov esi, dword [esi + 0xc]
test esi, esi
je 0x4641ae
mov esi, dword [esi]
test word [esi + 4], ax
jne 0x4641b0
xor esi, esi
mov dword [edi + 0xc], esi
cmp dword [esp + 0x44], ebx
je 0x4641ef
test esi, esi
je 0x4641e6
mov ecx, dword [0x7eefa4]
test ecx, ecx
je 0x4641e6
cmp dword [ecx + 0x18], ebx
je 0x4641df
mov edx, dword [ecx]
cmp esi, edx
jb 0x4641df
movzx eax, word [ecx + 4]
shl eax, 4
add eax, edx
cmp esi, eax
jb 0x464244
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x4641c7
mov dword [edi + 0x10], ebx
xor eax, eax
mov word [edi + 0x48], ax
mov eax, 1
mov ecx, eax
mov dword [esp + 0x2c], eax
cmp cx, word [esp + 0x14]
ja 0x4646b1
nop word [eax + eax]
mov ecx, dword [esp + 0x3c]
movzx eax, ax
test dword [ecx], 0x8000
je 0x464268
test eax, eax
je 0x464268
mov edx, dword [ecx + 8]
cmp eax, dword [edx + 4]
ja 0x464268
lea ecx, [eax + eax*2]
mov eax, dword [edx]
lea eax, [eax + ecx*8]
add eax, 0xffffffe8
je 0x464268
mov ecx, dword [eax]
test cl, 2
je 0x46424d
mov eax, dword [eax + 8]
jmp 0x46426a
mov dword [edi + 0x10], edx
mov ax, word [ecx + 4]
jmp 0x4641eb
test cl, 8
je 0x464257
mov eax, dword [eax + 8]
jmp 0x46426a
test cl, 0x10
je 0x464268
movsd xmm0, qword [eax + 8]
call fcn.00529f50
jmp 0x46426a
xor eax, eax
movzx edx, ax
mov dword [esp + 0x24], edx
test dx, dx
je 0x464689
cmp dx, word [edi + 0x34]
jae 0x464689
cmp dword [edi + 8], 0
mov eax, dword [0x7eefc8]
movzx ecx, dx
mov ebx, dword [eax + ecx*4]
mov dword [esp + 0x40], ebx
jne 0x4642a8
push ebx
push edi
call fcn.00462eb0
add esp, 8
jmp 0x464689
push edx
push edi
call fcn.004638b0
add esp, 8
test eax, eax
jne 0x464689
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x4642ed
mov ecx, dword [eax]
test ecx, 0x400
je 0x4642d0
mov eax, dword [eax + 8]
jmp 0x4642ef
test ecx, 0x8000
je 0x4642e0
mov eax, dword [eax + 8]
mov eax, dword [eax + 4]
jmp 0x4642ef
test cl, 4
je 0x4642ed
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x10]
jmp 0x4642ef
xor eax, eax
movzx ecx, ax
mov dword [esp + 0x20], ecx
movzx eax, cx
test cx, cx
je 0x464330
mov esi, eax
add esi, esi
cmp cx, word [esp + 0x1c]
jbe 0x464324
push esi
push ebp
call fcn.0047fb20
mov ebp, eax
add esp, 8
mov eax, dword [esp + 0x20]
movzx eax, ax
mov dword [esp + 0x10], ebp
mov dword [esp + 0x1c], eax
push esi
push 0
push ebp
call fcn.0052b3e0
add esp, 0xc
xor eax, eax
xor esi, esi
cmp ax, word [ebx + 0x44]
jae 0x46435d
nop word [eax + eax]
mov eax, dword [ebx + 0x2c]
movzx ecx, si
push 1
movzx eax, word [eax + ecx*4]
push eax
push edi
call fcn.00463150
inc esi
add esp, 0xc
cmp si, word [ebx + 0x44]
jb 0x464340
push 1
push dword [esp + 0x28]
push edi
call fcn.00463150
movzx ecx, word [ebx + 0x3e]
add esp, 0xc
test cx, cx
je 0x4643f3
xor eax, eax
xor edx, edx
mov dword [esp + 0x44], eax
cmp dx, cx
jae 0x4643f3
mov ebp, dword [esp + 0x40]
movzx eax, ax
mov ebp, dword [ebp + 0x14]
lea ebx, [eax + eax*2]
cmp word [ebp + ebx*4 + 4], 1
jne 0x4643e0
movzx eax, word [edi + 0x44]
movzx esi, word [ebp + ebx*4 + 0xa]
test ax, ax
je 0x4643c7
mov edx, dword [edi + 0x2c]
nop dword [eax + eax]
add eax, 0xffff
movzx ecx, ax
cmp word [edx + ecx*4], si
je 0x4644b7
test ax, ax
jne 0x4643b0
xor eax, eax
push esi
push eax
movzx eax, word [ebp + ebx*4 + 6]
push eax
push 1
push dword [ebp + ebx*4]
push edi
call fcn.00461f20
add esp, 0x18
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
inc eax
mov dword [esp + 0x44], eax
cmp ax, word [ebx + 0x3e]
jb 0x464382
movzx eax, word [ebx + 0x54]
mov dword [esp + 0x28], eax
test eax, eax
je 0x46464a
xor ebp, ebp
mov dword [esp + 0x44], ebp
nop dword [eax]
mov eax, dword [ebx + 8]
mov eax, dword [eax + ebp]
test eax, eax
je 0x464638
push eax
push edi
call fcn.00462db0
mov esi, eax
add esp, 8
cmp dword [esi], 0
je 0x4644c8
mov ebp, dword [esi + 8]
cmp ebp, 0x7bc320
jne 0x46446d
movzx eax, word [edi + 0x44]
test ax, ax
je 0x464463
mov edx, dword [edi + 0x2c]
movzx ebx, word [esi + 0x18]
nop
add eax, 0xffff
movzx ecx, ax
cmp word [edx + ecx*4], bx
je 0x4644c1
test ax, ax
jne 0x464450
xor eax, eax
mov ebx, dword [esp + 0x40]
mov word [esi + 0x1a], ax
cmp ebp, 0x7bc310
je 0x4644ce
mov ax, word [0x7eedc4]
test ax, ax
je 0x464486
cmp word [esi + 0x14], ax
je 0x4644ce
mov eax, dword [ebx + 8]
mov ecx, 0x600
mov ebp, dword [esp + 0x44]
test word [eax + ebp + 0x16], cx
je 0x4644a5
mov eax, 0x400
or word [esi + 0x16], ax
mov eax, dword [ebx + 8]
push edi
add eax, ebp
push esi
push eax
call fcn.00464bc0
add esp, 0xc
jmp 0x464638
movzx eax, word [edx + ecx*4 + 2]
jmp 0x4643c9
movzx eax, word [edx + ecx*4 + 2]
jmp 0x464465
inc word [edi + 0x3c]
jmp 0x4644d2
mov ebp, dword [esp + 0x44]
mov eax, dword [ebx + 8]
push edi
push esi
push esi
movups xmm0, xmmword [eax + ebp]
movups xmmword [esi], xmm0
movups xmm0, xmmword [eax + ebp + 0x10]
movups xmmword [esi + 0x10], xmm0
call fcn.00464bc0
add esp, 0xc
test eax, eax
jne 0x464638
mov eax, dword [esi + 8]
cmp eax, 0x7bc360
je 0x464509
cmp eax, 0x7bc370
jne 0x46450c
mov eax, dword [esi + 0xc]
cmp eax, 0x7bc2c0
je 0x464574
cmp eax, 0x7bc2d0
je 0x464574
cmp eax, 0x7bc2a0
je 0x46452c
cmp eax, 0x7bc2b0
jne 0x46462f
movzx eax, word [edi + 0x44]
test ax, ax
je 0x464553
mov edx, dword [edi + 0x2c]
movzx ebx, word [esi + 0x14]
nop dword [eax]
add eax, 0xffff
movzx ecx, ax
cmp word [edx + ecx*4], bx
je 0x464562
test ax, ax
jne 0x464540
mov ebx, dword [esp + 0x40]
xor eax, eax
mov word [esi + 0x1a], ax
jmp 0x46462f
movzx eax, word [edx + ecx*4 + 2]
mov ebx, dword [esp + 0x40]
mov word [esi + 0x1a], ax
jmp 0x46462f
movzx eax, word [esi + 0x18]
mov ecx, eax
cmp ax, word [esp + 0x20]
jbe 0x46459b
push 0
push str.__clsNew__
push 0
push 0x232d
call fcn.0044a4a0
movzx ecx, word [esi + 0x18]
add esp, 0x10
movzx edx, cx
movzx eax, cx
mov ecx, dword [esp + 0x10]
cmp word [ecx + edx*2 - 2], 0
jne 0x4645e1
mov eax, dword [edi + 0x18]
test dword [eax], 0x8000
je 0x4645c0
mov eax, dword [eax + 8]
mov eax, dword [eax + 4]
jmp 0x4645c2
xor eax, eax
inc eax
mov word [ecx + edx*2 - 2], ax
movzx eax, word [esi + 0x18]
movzx eax, word [ecx + eax*2 - 2]
push eax
push dword [edi + 0x18]
call fcn.00461d50
movzx eax, word [esi + 0x18]
add esp, 8
movzx edx, word [esi + 0x1a]
movzx ecx, ax
test dx, dx
je 0x46461f
push dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
movzx eax, ax
push 0
movzx eax, word [ecx + eax*2 - 2]
push eax
mov eax, edx
push 2
lea ecx, [eax + eax*2]
mov eax, dword [ebx + 0x14]
push dword [eax + ecx*4 - 0xc]
push edi
call fcn.00461f20
movzx ecx, word [esi + 0x18]
add esp, 0x18
mov word [esi + 0x1a], ax
movzx eax, cx
mov ecx, dword [esp + 0x10]
mov ax, word [ecx + eax*2 - 2]
mov word [esi + 0x18], ax
mov eax, 0x80
or word [esi + 0x16], ax
add ebp, 0x20
sub dword [esp + 0x28], 1
mov dword [esp + 0x44], ebp
jne 0x464410
cmp word [ebx + 0x38], 0
mov ecx, 1
je 0x46465a
mov word [edi + 0x38], cx
cmp word [ebx + 0x36], 0
je 0x464665
mov word [edi + 0x36], cx
mov eax, dword [ebx + 0x30]
or dword [edi + 0x30], eax
cmp word [ebx + 0x4a], 0
je 0x464676
mov word [edi + 0x4a], cx
mov eax, dword [esp + 0x18]
cmp dword [ebx + 0x24], 0
mov ebp, dword [esp + 0x10]
cmovne eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x2c], eax
cmp ax, word [esp + 0x14]
jbe 0x464210
test ebp, ebp
je 0x4646ad
lea eax, [ebp - 4]
push eax
call fcn.0045fc40
add esp, 4
mov ebx, dword [esp + 0x18]
cmp dword [edi + 8], 0
jne 0x4648d9
push 7
push edi
call fcn.00463240
push 0x2c
call fcn.004602a0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4646e3
push eax
push eax
push eax
push 0x232e
call fcn.0044a4a0
add esp, 0x10
mov ax, word [0x7bc524]
lea ecx, [esi + 4]
mov dword [esi], 1
mov ebp, 1
lea esi, [ecx + 0x10]
mov dword [ecx + 8], 0x70f344
mov word [ecx + 0xc], bp
mov word [ecx + 0xe], ax
mov dword [esi], 0
mov eax, dword [0x7eeff4]
test eax, eax
je 0x464731
mov dword [ecx], eax
mov eax, dword [0x7eeff4]
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov dword [eax], ecx
mov eax, dword [0x7eeff4]
mov dword [eax + 4], ecx
jmp 0x46473c
mov dword [ecx + 4], ecx
mov dword [ecx], ecx
mov dword [0x7eeff4], ecx
test dword [esi], 0xb405
je 0x46474d
push esi
call fcn.004677a0
add esp, 4
push 0x70f354
push 0x10
call fcn.00465950
xor ecx, ecx
push 0x2c
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 0xc], ecx
mov dword [eax + 8], ecx
mov dword [esi], 0x8000
mov dword [esi + 8], eax
mov dword [edi + 0x18], esi
call fcn.004602a0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x46479a
push eax
push eax
push eax
push 0x232e
call fcn.0044a4a0
add esp, 0x10
mov ax, word [0x7bc524]
lea ecx, [esi + 4]
mov dword [esi], ebp
lea esi, [ecx + 0x10]
mov dword [ecx + 8], 0x70f344
mov word [ecx + 0xc], bp
mov word [ecx + 0xe], ax
mov dword [esi], 0
mov eax, dword [0x7eeff4]
test eax, eax
je 0x4647df
mov dword [ecx], eax
mov eax, dword [0x7eeff4]
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov dword [eax], ecx
mov eax, dword [0x7eeff4]
mov dword [eax + 4], ecx
jmp 0x4647ea
mov dword [ecx + 4], ecx
mov dword [ecx], ecx
mov dword [0x7eeff4], ecx
test dword [esi], 0xb405
je 0x4647fb
push esi
call fcn.004677a0
add esp, 4
push 0x70f354
push 0x10
call fcn.00465950
xor ecx, ecx
push 0x2c
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 0xc], ecx
mov dword [eax + 8], ecx
mov dword [esi], 0x8000
mov dword [esi + 8], eax
mov dword [edi + 0x1c], esi
call fcn.004602a0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x464848
push eax
push eax
push eax
push 0x232e
call fcn.0044a4a0
add esp, 0x10
mov ax, word [0x7bc524]
lea ecx, [esi + 4]
mov dword [esi], ebp
lea esi, [ecx + 0x10]
mov dword [ecx + 8], 0x70f344
mov word [ecx + 0xc], bp
mov word [ecx + 0xe], ax
mov dword [esi], 0
mov eax, dword [0x7eeff4]
test eax, eax
je 0x46488d
mov dword [ecx], eax
mov eax, dword [0x7eeff4]
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov dword [eax], ecx
mov eax, dword [0x7eeff4]
mov dword [eax + 4], ecx
jmp 0x464898
mov dword [ecx + 4], ecx
mov dword [ecx], ecx
mov dword [0x7eeff4], ecx
test dword [esi], 0xb405
je 0x4648a9
push esi
call fcn.004677a0
add esp, 4
push 0x70f354
push 0x10
call fcn.00465950
add esp, 8
xor ecx, ecx
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 0xc], ecx
mov dword [eax + 8], ecx
mov dword [esi], 0x8000
mov dword [esi + 8], eax
mov dword [edi + 0x20], esi
movzx eax, word [edi + 0x40]
mov word [edi + 0x42], ax
movzx eax, word [edi + 0x34]
push 0
push eax
push edi
call fcn.00463150
movzx eax, word [edi + 0x40]
add esp, 0xc
add ax, word [esp + 0x38]
cmp word [edi + 0x4a], 0
movzx eax, ax
mov word [edi + 0x40], ax
pop esi
je 0x46490e
inc eax
mov word [edi + 0x4a], ax
test ebx, ebx
je 0x464920
cmp dword [edi + 0x24], 0
jne 0x464920
call fcn.00474830
mov dword [edi + 0x24], eax
mov ax, word [edi + 0x34]
pop edi
pop ebp
pop ebx
add esp, 0x20
ret