Function at 0x611df0
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword [0x9ec7ac]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x6123e0
sub esp, 0x48
mov ebx, dword [esp + 0x4c]
mov ebp, dword [ebx + 0x18]
test ebp, ebp
je 0x611e75
mov ebp, dword [ebx + 0x40]
sub ebp, dword [ebx + 0x28]
add dword [ebx + 0x3c], ebp
jmp 0x611f38
movzx edx, bl
mov dword [esp + 0x34], edx
mov ecx, dword [eax + 0x28]
mov esi, edx
shl edx, cl
lea edi, [ecx - 0x20]
mov ebx, ecx
mov ecx, edi
shl esi, cl
neg ecx
mov ebp, dword [esp + 0x34]
shr ebp, cl
cmp ebx, 0x20
sbb ebx, ebx
and edx, ebx
cmp edi, 0x20
sbb edi, edi
and esi, edi
cmp ecx, 0x20
sbb edi, edi
and ebp, edi
or ebp, esi
or ebp, dword [eax + 0x24]
or dword [eax + 0x20], edx
mov dword [eax + 0x24], ebp
add dword [eax + 0x28], 8
mov edx, dword [eax]
mov ebp, dword [eax + 4]
add edx, 1
mov dword [eax], edx
adc ebp, 0
mov dword [eax + 4], ebp
mov ebx, eax
mov eax, dword [esp + 0x50]
cmp dword [ebx + 0x28], eax
jae 0x611f24
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x14]
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
test eax, eax
jne 0x611ec7
mov eax, dword [esp + 0x4c]
movzx edx, byte [eax + 0x2c]
movzx ebx, byte [esp + 4]
test dl, dl
je 0x611ebc
movzx edx, bl
lea ebp, [0x9ed900]
movzx ebx, byte [ebp + edx]
jmp 0x611e20
lea ebp, [0x9ed900]
jmp 0x611e20
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
cmp dword [0x9a3bd0], ecx
jne 0x611f18
mov dword [esp + 0x3c], edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xc]
mov edx, dword [0x9a3bd4]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00404340
movzx eax, byte [esp + 0xc]
test al, al
je 0x611f10
mov eax, dword [0x9a3bd8]
mov edx, dword [0x9a3bdc]
jmp 0x611f18
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], edx
add esp, 0x48
ret
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
add esp, 0x48
ret
mov ebp, dword [ebx + 0x34]
test ebp, ebp
jne 0x612058
mov eax, dword [ebx + 0x28]
mov dword [ebx + 0x40], eax
mov dword [esp], ebx
call fcn.00611d00
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x6122fc
mov eax, dword [esp + 0x50]
mov ecx, eax
neg eax
and eax, 7
add eax, ecx
mov edx, eax
sar eax, 0x1f
shr eax, 0x1d
add eax, edx
sar eax, 3
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x4c]
mov ebx, dword [edx + 0x18]
mov ebp, dword [edx + 0x1c]
mov ebx, dword [ebx + 0x10]
mov dword [esp], ebp
call ebx
mov eax, dword [esp + 0x28]
cmp dword [esp + 4], eax
jle 0x611fad
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
mov ecx, dword [ecx + 0x10]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x18]
mov ebx, dword [ecx + 0x1c]
mov edx, dword [edx + 0x18]
mov dword [esp], ebx
mov dword [esp + 4], eax
call edx
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x38], ebp
mov esi, dword [esp + 0x14]
mov dword [esp + 0x24], esi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x40], edi
mov ebp, dword [esp + 0x4c]
mov dword [ebp + 0x34], ecx
mov dword [ebp + 0x38], eax
mov esi, dword [0x9eca70]
test esi, esi
je 0x612010
call fcn.00468460
mov dword [edi], edx
mov esi, dword [ebp + 0x30]
mov dword [edi + 4], esi
mov edi, dword [esp + 0x40]
mov dword [ebp + 0x30], edx
mov esi, dword [ebp + 0x28]
shr esi, 3
cmp ecx, esi
jb 0x6123d8
sub ecx, esi
mov dword [ebp + 0x34], ecx
sub eax, esi
mov dword [ebp + 0x38], eax
mov edi, dword [0x9eca70]
neg eax
sar eax, 0x1f
and esi, eax
add esi, edx
test edi, edi
je 0x61204b
call fcn.00468460
mov dword [edi], esi
mov eax, dword [ebp + 0x30]
mov dword [edi + 4], eax
mov dword [ebp + 0x30], esi
test ecx, ecx
je 0x612298
mov ebx, ebp
mov ecx, dword [ebx + 0x28]
lea ebp, [ecx - 0x40]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
shr ebp, 0x1d
sub ebp, ecx
lea eax, [ebp + 0x40]
mov ebp, dword [ebx + 0x34]
sar eax, 3
mov esi, dword [ebx + 0x30]
cmp ebp, 8
jge 0x6120ea
cmp ebp, eax
jl 0x612083
mov ebp, eax
mov edx, dword [ebx + 0x38]
cmp ebp, edx
ja 0x6123d1
mov dword [esp + 0x44], esi
xor eax, eax
jmp 0x612388
mov ecx, dword [ebx + 0x34]
cmp ebp, ecx
ja 0x6123ca
mov esi, dword [ebx + 0x30]
mov edi, dword [ebx + 0x38]
sub edi, ebp
sub ecx, ebp
mov dword [ebx + 0x34], ecx
mov dword [ebx + 0x38], edi
mov eax, dword [0x9eca70]
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and ebp, edi
add ebp, esi
test eax, eax
je 0x6120d8
call fcn.00468460
mov dword [edi], ebp
mov esi, dword [ebx + 0x30]
mov dword [edi + 4], esi
mov dword [ebx + 0x30], ebp
cmp dword [ebx + 0x28], 0x38
jbe 0x611f38
jmp 0x6123c3
mov dword [esp + 0x1c], eax
movzx edx, byte [ebx + 0x2c]
movzx ebp, byte [esi]
movzx edi, byte [esi + 1]
mov dword [esp + 0x34], edi
shl edi, 8
or ebp, edi
mov edi, dword [esp + 0x34]
shr edi, 0x18
movzx eax, byte [esi + 2]
mov dword [esp + 0x34], eax
shr eax, 0x10
or eax, edi
mov edi, dword [esp + 0x34]
shl edi, 0x10
or edi, ebp
movzx ebp, byte [esi + 3]
mov dword [esp + 0x34], ebp
shr ebp, 8
or ebp, eax
mov ebx, dword [esp + 0x34]
shl ebx, 0x18
movzx eax, byte [esi + 4]
or eax, ebp
movzx ebp, byte [esi + 5]
shl ebp, 8
or eax, ebp
movzx ebp, byte [esi + 6]
shl ebp, 0x10
or eax, ebp
movzx ebp, byte [esi + 7]
shl ebp, 0x18
nop
or ebx, edi
or eax, ebp
test dl, dl
je 0x612208
mov edx, eax
and edx, 0xaaaaaaaa
mov ebp, ebx
and ebp, 0xaaaaaaaa
mov esi, edx
shr edx, 1
shr ebp, 1
shl esi, 0x1f
or esi, ebp
and ebx, 0x55555555
and eax, 0x55555555
shl eax, 1
mov ebp, ebx
shl ebp, 1
or esi, ebp
shr ebx, 0x1f
or eax, ebx
or eax, edx
mov ebx, eax
and ebx, 0xcccccccc
mov edx, esi
and esi, 0xcccccccc
mov ebp, ebx
shr ebp, 2
shr esi, 2
shl ebx, 0x1e
or ebx, esi
and edx, 0x33333333
and eax, 0x33333333
shl eax, 2
mov esi, edx
shl edx, 2
or ebx, edx
shr esi, 0x1e
or eax, esi
or eax, ebp
mov edx, eax
and edx, 0xf0f0f0f0
mov ebp, ebx
and ebp, 0xf0f0f0f0
mov esi, edx
shr edx, 4
shr ebp, 4
shl esi, 0x1c
or esi, ebp
and ebx, 0xf0f0f0f
and eax, 0xf0f0f0f
shl eax, 4
mov ebp, ebx
shl ebp, 4
shr ebx, 0x1c
or eax, ebx
or eax, edx
or esi, ebp
jmp 0x61220a
mov esi, ebx
mov edx, esi
shl esi, cl
shl eax, cl
lea ebx, [ecx - 0x20]
mov ebp, ecx
mov ecx, ebx
mov edi, edx
shl edx, cl
neg ecx
shr edi, cl
cmp ebp, 0x20
sbb ebp, ebp
and eax, ebp
and esi, ebp
cmp ebx, 0x20
sbb ebx, ebx
and edx, ebx
cmp ecx, 0x20
sbb ebx, ebx
and edi, ebx
or edi, eax
or edi, edx
mov edx, dword [esp + 0x4c]
or edi, dword [edx + 0x24]
or dword [edx + 0x20], esi
mov dword [edx + 0x24], edi
mov ebx, dword [edx + 0x28]
mov eax, dword [esp + 0x1c]
lea ebx, [ebx + eax*8]
mov dword [edx + 0x28], ebx
mov ecx, dword [edx + 0x34]
cmp ecx, eax
jb 0x61231b
mov ebx, dword [edx + 0x30]
mov ebp, dword [edx + 0x38]
sub ebp, eax
sub ecx, eax
mov dword [edx + 0x34], ecx
mov dword [edx + 0x38], ebp
mov ecx, dword [0x9eca70]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and eax, ebp
add eax, ebx
test ecx, ecx
je 0x612293
call fcn.00468460
mov dword [edi], eax
mov ecx, dword [edx + 0x30]
mov dword [edi + 4], ecx
mov dword [edx + 0x30], eax
jmp 0x612310
mov eax, dword [esp + 0x50]
cmp dword [ebp + 0x28], eax
jb 0x6122a5
mov edx, ebp
jmp 0x612310
cmp dword [0x9a3bd0], ebx
je 0x6122b7
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x40]
jmp 0x6122f0
mov eax, dword [0x9a3bd4]
mov dword [esp], ebx
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00404340
movzx eax, byte [esp + 0xc]
test al, al
je 0x6122e8
mov esi, dword [0x9a3bd8]
mov edi, dword [0x9a3bdc]
jmp 0x6122f0
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], edi
add esp, 0x48
ret
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
add esp, 0x48
ret
mov eax, dword [edx + 0x28]
mov dword [edx + 0x40], eax
jmp 0x611f24
call fcn.00468520
xchg edi, eax
movzx eax, al
xchg edi, eax
mov dword [esp + 0x34], edi
mov edx, dword [ebx + 0x28]
mov ecx, edx
shl edi, cl
mov dword [esp + 0x30], edi
lea esi, [ecx - 0x20]
mov ecx, esi
mov edi, dword [esp + 0x34]
shl edi, cl
mov dword [esp + 0x2c], edi
neg ecx
mov edi, dword [esp + 0x34]
shr edi, cl
mov dword [esp + 0x34], edi
inc eax
cmp edx, 0x20
sbb edx, edx
mov edi, dword [esp + 0x30]
and edi, edx
cmp esi, 0x20
sbb edx, edx
mov esi, edi
mov edi, dword [esp + 0x2c]
and edi, edx
cmp ecx, 0x20
sbb ecx, ecx
mov edx, edi
mov edi, dword [esp + 0x34]
and edi, ecx
or edi, edx
or edi, dword [ebx + 0x24]
or dword [ebx + 0x20], esi
mov dword [ebx + 0x24], edi
add dword [ebx + 0x28], 8
mov esi, dword [esp + 0x44]
cmp eax, ebp
jge 0x612099
movzx edi, byte [ebx + 0x2c]
movzx ecx, byte [eax + esi]
xchg edi, eax
test al, al
xchg edi, eax
je 0x6123b2
movzx edi, cl
mov ecx, esi
lea esi, [0x9ed900]
movzx edi, byte [esi + edi]
jmp 0x612320
lea esi, [0x9ed900]
mov edi, ecx
mov ecx, dword [esp + 0x44]
jmp 0x612320
mov edx, ebx
jmp 0x612310
mov eax, ebp
call fcn.00468520
mov ecx, ebp
call fcn.00468500
mov eax, esi
call fcn.00468520
nop
call fcn.00467050
jmp fcn.00611df0