Function at 0x1e0311c0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
and dword [esp + 0x10], 0
push ebx
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0xc]
push edi
mov edi, dword [esi + 0x350]
mov dword [esp + 0x18], eax
lea eax, [edi + 0x20]
cmp dword [esi + 0x34c], eax
jae 0x1e0311fe
push 0x20
mov eax, esi
call fcn.1e0334f0
pop ecx
test eax, eax
jl 0x1e0314ab
mov ebx, dword [esi + 0x348]
add dword [esi + 0x350], 0x20
mov eax, dword [ebp + 0xc]
add ebx, edi
or dword [ebx], 0xffffffff
and dword [ebx + 4], 0
mov dword [ebx + 0xc], eax
mov dword [esp + 0x14], edi
mov ecx, dword [esi]
mov eax, dword [ebx + 0xc]
mov dword [ebx + 8], ecx
cmp word [eax], 0x11
je 0x1e03147c
inc dword [esp + 0x1c]
test dword [esp + 0x1c], 0xfff
je 0x1e040d40
mov eax, dword [ebx + 0xc]
movzx edx, word [eax]
mov ecx, dword [esp + 0x18]
add eax, 2
mov dword [ebx + 0xc], eax
cmp edx, 0x1f
ja case.0x1e03125f.8
mov dword [esp + 0x10], eax
jmp dword [edx*4 + 0x1e0314b4]
movzx eax, word [eax + 2]
mov edx, dword [ebx + 8]
add eax, edx
cmp eax, ecx
ja case.0x1e03125f.0
mov dword [esi], edx
mov ebx, dword [ebx + 0xc]
movzx eax, word [ebx + 4]
push eax
lea edx, [ebx + 6]
mov ecx, esi
call fcn.1e031570
test eax, eax
jl 0x1e0314ab
mov ebx, dword [esi + 0x348]
add ebx, edi
add dword [ebx + 8], eax
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], eax
movzx eax, word [ecx + 2]
cmp dword [esp + 0x10], eax
jl case.0x1e03125f.0
movzx edx, word [ecx]
xor eax, eax
inc eax
cmp word [ecx + edx*2], ax
je 0x1e03141d
mov eax, dword [esi + 0x24]
mov dword [ebx + 0x14], eax
mov eax, dword [esi + 0x20]
mov dword [ebx + 0x18], eax
movzx eax, word [ecx]
lea eax, [ecx + eax*2]
cmp word [eax], 0x13
je 0x1e0313a6
mov eax, dword [ebx + 0xc]
movzx eax, word [eax + 2]
cmp dword [ebx + 0x10], eax
jl case.0x1e03125f.0
mov eax, dword [ebx + 8]
mov dword [esi], eax
mov eax, dword [esi + 0x350]
mov dword [esp + 0x10], eax
add eax, 0x20
cmp dword [esi + 0x34c], eax
jb 0x1e041a67
mov eax, dword [esi + 0x348]
add eax, dword [esp + 0x10]
add dword [esi + 0x350], 0x20
mov dword [eax + 4], 9
mov dword [eax], edi
mov ebx, dword [ebx + 0xc]
movzx ecx, word [ebx]
lea ecx, [ebx + ecx*2]
mov edi, dword [esp + 0x10]
mov dword [eax + 0xc], ecx
mov dword [esp + 0x14], edi
mov ebx, eax
jmp 0x1e03121e
movzx ecx, word [eax]
mov dword [esp + 0x10], ecx
test cl, 1
je 0x1e03135c
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
inc eax
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x24]
cmp ecx, eax
jle 0x1e03136f
inc eax
cmp eax, ecx
jl 0x1e040d54
mov dword [esi + 0x24], ecx
mov eax, dword [ebx + 8]
mov dword [esi + ecx*4 + 0x28], eax
add dword [ebx + 0xc], 2
jmp 0x1e031230
mov edx, dword [ebx + 8]
cmp edx, ecx
jae case.0x1e03125f.0
movzx cx, byte [edx]
cmp cx, word [eax]
jne case.0x1e03125f.0
add eax, 2
mov dword [ebx + 0xc], eax
inc edx
mov dword [ebx + 8], edx
jmp 0x1e031230
mov ax, word [eax + 2]
mov word [ebx + 0x1c], ax
mov ecx, dword [ebx + 0xc]
movzx eax, word [ecx + 2]
cmp dword [ebx + 0x10], eax
jl 0x1e0313d5
mov eax, dword [ebx + 8]
cmp eax, dword [esp + 0x18]
jae 0x1e04150b
movzx dx, byte [eax]
cmp dx, word [ebx + 0x1c]
jne 0x1e04150b
movzx eax, word [ecx + 2]
cmp dword [ebx + 0x10], eax
jl case.0x1e03125f.0
mov eax, dword [ebx + 8]
mov dword [esi], eax
mov eax, dword [esi + 0x350]
mov dword [esp + 0x10], eax
add eax, 0x20
cmp dword [esi + 0x34c], eax
jb 0x1e041a3f
mov eax, dword [esi + 0x348]
add eax, dword [esp + 0x10]
add dword [esi + 0x350], 0x20
mov dword [eax + 4], 8
jmp 0x1e031328
mov ecx, dword [ebx + 8]
mov dword [esi], ecx
mov dword [esp + 0x10], eax
mov edi, dword [ebx]
mov edx, dword [ebx + 4]
add dword [esi + 0x350], 0xffffffe0
cmp edi, 0xffffffff
je case.default.0x1e031450
dec edx
cmp edx, 0xc
ja case.default.0x1e031450
mov eax, dword [esi + 0x348]
mov ecx, dword [esi + 0x350]
mov dword [esp + 0x14], edi
lea ebx, [eax + edi]
jmp dword [edx*4 + 0x1e031534]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1e04151d
jl 0x1e0314ab
mov dword [esp + 0x10], 1
jmp 0x1e031426
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x1e031463
jmp 0x1e0414f4
movzx edx, word [eax + 6]
test dx, dx
je 0x1e031497
mov edx, dword [esp + 0x18]
sub edx, ecx
movzx ecx, word [eax + 6]
cmp edx, ecx
jl case.0x1e03125f.0
movzx ecx, word [eax + 2]
lea eax, [eax + ecx*2 + 2]
mov dword [ebx + 0xc], eax
jmp 0x1e031230
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
call fcn.1e02193a
test eax, eax
je 0x1e031242
push 0xfffffffffffffff6
jmp 0x1e041a91
sub ecx, eax
lea edi, [esi + eax*4 + 0x28]
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
jmp 0x1e03136c
mov edx, dword [ebx + 8]
cmp edx, ecx
jae case.0x1e03125f.0
movzx cx, byte [edx]
cmp cx, word [eax]
jne 0x1e031397
jmp case.0x1e03125f.0
mov eax, dword [ebx + 8]
mov dword [esi], eax
jmp 0x1e031465
mov eax, dword [esp + 0x10]
movzx eax, word [eax]
push eax
push dword [ebx + 8]
push esi
call fcn.1e07d191
test eax, eax
jne 0x1e031376
jmp case.0x1e03125f.0
mov eax, dword [ebx + 8]
cmp eax, ecx
jae 0x1e040de1
movzx esi, byte [eax]
mov eax, dword [esp + 0x10]
mov ax, word [eax]
call fcn.1e0316a0
test eax, eax
je 0x1e040de1
mov esi, dword [ebp + 8]
add dword [ebx + 0xc], 2
inc dword [ebx + 8]
mov edi, dword [esp + 0x14]
jmp 0x1e031230
mov esi, dword [ebp + 8]
jmp case.0x1e03125f.0
mov edx, dword [ebx + 8]
cmp edx, ecx
jae case.0x1e03125f.0
mov al, byte [edx]
cmp al, 0x80
jae 0x1e040e09
movzx eax, al
movsx eax, byte [eax + 0x1e216cf8]
and eax, 4
jmp 0x1e040e0b
xor eax, eax
test eax, eax
je 0x1e03139d
jmp case.0x1e03125f.0
mov eax, dword [ebx + 8]
cmp eax, ecx
jae case.0x1e03125f.0
inc eax
mov dword [ebx + 8], eax
jmp 0x1e031230
mov eax, dword [ebx + 8]
cmp eax, ecx
jae case.0x1e03125f.0
movzx ax, byte [eax]
movzx eax, ax
push eax
mov eax, dword [esp + 0x14]
add eax, 2
jmp 0x1e040eea
mov eax, dword [ebx + 0xc]
movzx ecx, word [eax]
inc dword [ebx + 8]
lea eax, [eax + ecx*2]
jmp 0x1e03149f
cmp dword [ebx + 8], ecx
jae case.0x1e03125f.0
mov eax, dword [ebx + 8]
movzx eax, byte [eax]
lea edi, [esi + 0x358]
push eax
call dword [edi]
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx]
push ecx
mov dword [esp + 0x18], eax
call dword [edi]
pop ecx
pop ecx
mov ecx, dword [esp + 0x10]
cmp ecx, eax
je 0x1e040dd1
jmp case.0x1e03125f.0
cmp dword [ebx + 8], ecx
jae case.0x1e03125f.0
mov eax, dword [ebx + 8]
movzx eax, byte [eax]
lea edi, [esi + 0x358]
push eax
call dword [edi]
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx]
push ecx
mov dword [esp + 0x18], eax
call dword [edi]
pop ecx
pop ecx
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jne 0x1e040dd1
jmp case.0x1e03125f.0
mov eax, dword [ebx + 8]
cmp eax, ecx
jae case.0x1e03125f.0
movzx eax, byte [eax]
push eax
call dword [esi + 0x358]
pop ecx
push eax
mov eax, dword [ebx + 0xc]
inc eax
inc eax
call fcn.1e031630
test eax, eax
jne 0x1e040e4b
jmp case.0x1e03125f.0
mov eax, dword [esi + 0x24]
mov dword [ebx + 0x14], eax
mov eax, dword [esi + 0x20]
mov dword [ebx + 0x18], eax
mov eax, dword [esi + 0x354]
mov dword [ebx + 0x1c], eax
test eax, eax
je 0x1e0413fc
mov eax, dword [ebx + 0x14]
test eax, eax
jle 0x1e0413fc
mov ecx, dword [esi + 0x350]
shl eax, 2
mov dword [esp + 0x14], eax
lea eax, [eax + ecx + 4]
cmp dword [esi + 0x34c], eax
jae 0x1e040f66
mov eax, dword [esp + 0x14]
add eax, 4
push eax
mov eax, esi
call fcn.1e0334f0
pop ecx
test eax, eax
jl 0x1e0314ab
cmp edi, 0xffffffff
je 0x1e040f66
mov ebx, dword [esi + 0x348]
add ebx, edi
mov eax, dword [esp + 0x14]
add eax, 4
push eax
lea eax, [esi + 0x28]
push eax
mov eax, dword [esi + 0x348]
add eax, dword [esi + 0x350]
push eax
call fcn.1e036720
mov eax, dword [esp + 0x20]
add eax, 4
add esp, 0xc
add dword [esi + 0x350], eax
jmp 0x1e0413f8
movzx eax, word [eax + 2]
mov edx, dword [ebx + 8]
add eax, edx
cmp eax, ecx
ja case.0x1e03125f.0
mov dword [esi], edx
mov eax, dword [ebx + 0xc]
movzx ecx, word [eax + 2]
test cx, cx
jne 0x1e040fc1
and dword [ebx + 0x10], 0
jmp 0x1e040ff4
movzx ecx, cx
push ecx
lea edx, [eax + 6]
mov ecx, esi
call fcn.1e031570
test eax, eax
jl 0x1e0314ab
mov ebx, dword [esi + 0x348]
add ebx, edi
mov ecx, dword [ebx + 0xc]
movzx ecx, word [ecx + 2]
cmp eax, ecx
jl case.0x1e03125f.0
add dword [ebx + 8], eax
mov dword [ebx + 0x10], eax
mov eax, dword [ebx + 0xc]
movzx edx, word [eax]
xor ecx, ecx
inc ecx
cmp word [eax + edx*2], cx
jne 0x1e041011
mov eax, dword [ebx + 8]
mov dword [esi], eax
mov dword [esp + 0x10], ecx
jmp 0x1e031426
mov eax, dword [esi + 0x24]
mov dword [ebx + 0x14], eax
mov eax, dword [esi + 0x20]
mov dword [ebx + 0x18], eax
jmp 0x1e04157e
push 0x10
call fcn.1e013560
pop ecx
mov dword [ebx + 0x1c], eax
test eax, eax
jne 0x1e04161f
call fcn.1e0862a1
jmp case.0x1e03125f.0
movzx ecx, word [eax]
add ecx, ecx
cmp ecx, dword [esi + 0x24]
jge case.0x1e03125f.0
mov edx, dword [esi + ecx*4 + 0x28]
test edx, edx
je case.0x1e03125f.0
mov ecx, dword [esi + ecx*4 + 0x2c]
test ecx, ecx
je case.0x1e03125f.0
cmp edx, ecx
ja case.0x1e03125f.0
jae 0x1e04109c
mov dword [esp + 0x10], ecx
mov ecx, dword [ebx + 8]
cmp ecx, dword [esp + 0x18]
jae case.0x1e03125f.0
mov cl, byte [ecx]
cmp cl, byte [edx]
jne case.0x1e03125f.0
mov ecx, dword [ebx + 8]
inc edx
inc ecx
mov dword [ebx + 8], ecx
cmp edx, dword [esp + 0x10]
jb 0x1e041077
add eax, 2
jmp 0x1e03149f
movzx eax, word [eax]
add eax, eax
cmp eax, dword [esi + 0x24]
jge case.0x1e03125f.0
mov ecx, dword [esi + eax*4 + 0x28]
test ecx, ecx
je case.0x1e03125f.0
mov eax, dword [esi + eax*4 + 0x2c]
test eax, eax
je case.0x1e03125f.0
cmp ecx, eax
ja case.0x1e03125f.0
jae 0x1e031376
mov dword [esp + 0x10], ecx
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 8]
cmp eax, dword [esp + 0x18]
jae case.0x1e03125f.0
mov dword [esp + 0x20], eax
movzx eax, byte [ecx]
lea edi, [esi + 0x358]
push eax
call dword [edi]
mov ecx, dword [esp + 0x24]
movzx ecx, byte [ecx]
push ecx
mov dword [esp + 0x28], eax
call dword [edi]
pop ecx
pop ecx
cmp eax, dword [esp + 0x20]
jne case.0x1e03125f.0
mov ecx, dword [esp + 0x10]
inc ecx
inc dword [ebx + 8]
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x24]
jb 0x1e0410e0
mov edi, dword [esp + 0x14]
jmp 0x1e031376
movzx ecx, word [eax]
add ecx, ecx
cmp ecx, dword [esi + 0x24]
jge 0x1e041158
mov edx, dword [esi + ecx*4 + 0x28]
test edx, edx
je 0x1e041158
mov ecx, dword [esi + ecx*4 + 0x2c]
test ecx, ecx
je 0x1e041158
cmp ecx, edx
jb 0x1e041158
add eax, 4
jmp 0x1e03149f
movzx ecx, word [eax + 2]
jmp 0x1e041239
movzx ecx, word [eax + 2]
mov eax, dword [ebx + 8]
sub eax, ecx
mov dword [esi], eax
cmp eax, dword [esi + 4]
jb case.0x1e03125f.0
mov eax, dword [esi + 0x350]
mov dword [esp + 0x10], eax
add eax, 0x20
cmp dword [esi + 0x34c], eax
jae 0x1e0411a9
push 0x20
mov eax, esi
call fcn.1e0334f0
pop ecx
test eax, eax
jl 0x1e0314ab
cmp edi, 0xffffffff
je 0x1e0411a9
mov ebx, dword [esi + 0x348]
add ebx, edi
mov eax, dword [esi + 0x348]
add eax, dword [esp + 0x10]
add dword [esi + 0x350], 0x20
mov dword [eax + 4], 0xc
jmp 0x1e041226
movzx ecx, word [eax + 2]
mov eax, dword [ebx + 8]
sub eax, ecx
mov dword [esi], eax
cmp eax, dword [esi + 4]
jb 0x1e041233
mov eax, dword [esi + 0x350]
mov dword [esp + 0x10], eax
add eax, 0x20
cmp dword [esi + 0x34c], eax
jae 0x1e04120e
push 0x20
mov eax, esi
call fcn.1e0334f0
pop ecx
test eax, eax
jl 0x1e0314ab
cmp edi, 0xffffffff
je 0x1e04120e
mov ebx, dword [esi + 0x348]
add ebx, edi
mov eax, dword [esi + 0x348]
add eax, dword [esp + 0x10]
add dword [esi + 0x350], 0x20
mov dword [eax + 4], 0xd
mov dword [eax], edi
mov ecx, dword [ebx + 0xc]
add ecx, 4
jmp 0x1e031333
mov eax, dword [ebx + 0xc]
movzx ecx, word [eax]
lea eax, [eax + ecx*2]
jmp 0x1e03149f
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x1c]
dec eax
mov dword [ecx], eax
mov eax, dword [ebx + 8]
mov dword [esi], eax
and dword [esp + 0x10], 0
jmp 0x1e031426
mov eax, dword [eax + ecx - 4]
mov edx, dword [ebx + 0x1c]
mov dword [edx + 8], eax
add dword [esi + 0x350], 0xfffffffc
cmp dword [esp + 0x10], 0
mov eax, dword [esi + 0x350]
mov ecx, dword [ebx + 0x14]
je 0x1e0419a7
test ecx, ecx
jle 0x1e04139b
shl ecx, 2
sub eax, ecx
sub eax, 4
mov dword [esi + 0x350], eax
jmp 0x1e04139b
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x1e0314ab
jg 0x1e031465
mov eax, dword [ebx + 0x1c]
mov dword [esi + 0x354], eax
jmp 0x1e04124a
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x1e031463
mov eax, dword [ebx + 0x1c]
mov dword [esi + 0x354], eax
mov eax, dword [ebx + 8]
mov dword [esi], eax
mov eax, dword [ebx + 0x14]
mov dword [esi + 0x24], eax
mov eax, dword [ebx + 0x18]
mov dword [esi + 0x20], eax
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + 4]
movzx eax, word [eax + 4]
movzx ecx, ax
cmp dword [ebx + 0x10], ecx
jl 0x1e0412f8
cmp ax, 0xffff
jne case.0x1e03125f.0
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x10]
mov dword [eax], ecx
mov edx, dword [esi + 0x350]
lea eax, [edx + 0x20]
cmp dword [esi + 0x34c], eax
jae 0x1e041337
push 0x20
mov eax, esi
mov dword [esp + 0x14], edx
call fcn.1e0334f0
pop ecx
test eax, eax
jl 0x1e0314ab
mov ebx, dword [esi + 0x348]
mov edx, dword [esp + 0x10]
add ebx, edi
mov eax, dword [esi + 0x348]
add dword [esi + 0x350], 0x20
add eax, edx
push 6
mov dword [eax], edi
pop ecx
mov dword [eax + 4], ecx
mov edi, dword [ebx + 0x1c]
mov edi, dword [edi + 4]
add edi, ecx
mov dword [eax + 0xc], edi
mov edi, edx
mov dword [esp + 0x14], edx
jmp 0x1e03133e
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1e041241
jmp 0x1e031463
cmp dword [esp + 0x10], 0
je 0x1e0413ab
cmp dword [ebx + 0x1c], 0
je 0x1e04139b
mov eax, dword [ebx + 0x14]
test eax, eax
jle 0x1e04139b
shl eax, 2
sub ecx, eax
sub ecx, 4
mov dword [esi + 0x350], ecx
cmp dword [esp + 0x10], 0
jl case.default.0x1e031450
jmp 0x1e031465
cmp dword [ebx + 0x1c], 0
je 0x1e0413e0
mov edx, dword [ebx + 0x14]
test edx, edx
jle 0x1e0413e0
shl edx, 2
mov dword [esp + 0x24], edx
sub eax, dword [esp + 0x24]
add edx, 4
push edx
lea eax, [eax + ecx - 4]
push eax
lea eax, [esi + 0x28]
push eax
call fcn.1e036720
add esp, 0xc
mov eax, dword [ebx + 0x14]
mov dword [esi + 0x24], eax
mov eax, dword [ebx + 0x18]
mov dword [esi + 0x20], eax
mov eax, dword [ebx + 0xc]
movzx ecx, word [eax]
lea eax, [eax + ecx*2]
mov dword [ebx + 0xc], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [ebx + 0xc]
xor edx, edx
cmp word [eax], dx
je 0x1e0414ab
movzx edx, word [eax + 2]
cmp dx, 0x13
jne 0x1e041429
mov edx, dword [ebx + 8]
cmp edx, ecx
jae 0x1e0413ec
movzx cx, byte [edx]
cmp cx, word [eax + 4]
jne 0x1e0413ec
mov ecx, dword [esp + 0x18]
movzx edx, word [eax + 2]
cmp dx, 0xf
jne 0x1e04144e
mov edx, dword [ebx + 8]
cmp edx, ecx
jae 0x1e0413ec
movzx cx, byte [edx]
movzx ecx, cx
push ecx
add eax, 6
call fcn.1e031630
test eax, eax
je 0x1e0413ec
mov eax, dword [ebx + 8]
mov dword [esi], eax
mov eax, dword [esi + 0x350]
mov dword [esp + 0x10], eax
add eax, 0x20
cmp dword [esi + 0x34c], eax
jae 0x1e041487
push 0x20
mov eax, esi
call fcn.1e0334f0
pop ecx
test eax, eax
jl 0x1e0314ab
cmp edi, 0xffffffff
je 0x1e041487
mov ebx, dword [esi + 0x348]
add ebx, edi
mov eax, dword [esi + 0x348]
add eax, dword [esp + 0x10]
add dword [esi + 0x350], 0x20
mov dword [eax], edi
mov dword [eax + 4], 0xb
mov ecx, dword [ebx + 0xc]
inc ecx
inc ecx
jmp 0x1e031333
cmp dword [ebx + 0x1c], edx
je 0x1e0414c5
mov eax, dword [ebx + 0x14]
cmp eax, edx
jle 0x1e0414c5
push 0xfffffffffffffffc
shl eax, 2
pop ecx
sub ecx, eax
add dword [esi + 0x350], ecx
mov dword [esp + 0x10], edx
jmp 0x1e031426
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + 0xc]
mov dword [esi + 0x354], eax
push dword [ebx + 0x1c]
call fcn.1e013e20
mov eax, dword [esp + 0x14]
pop ecx
test eax, eax
je case.0x1e03125f.0
jmp 0x1e031463
mov eax, dword [ebx + 0x14]
mov dword [esi + 0x24], eax
mov eax, dword [ebx + 0x18]
mov dword [esi + 0x20], eax
dec dword [ebx + 8]
dec dword [ebx + 0x10]
jmp 0x1e0313ae
dec eax
dec dword [ebx + 0x10]
mov dword [ebx + 8], eax
mov eax, ecx
movzx eax, word [eax + 2]
jmp 0x1e0313b5
dec dword [ebx + 8]
mov eax, dword [ebx + 0x14]
dec dword [ebx + 0x10]
mov dword [esi + 0x24], eax
mov eax, dword [ebx + 0x18]
mov dword [esi + 0x20], eax
jmp 0x1e0312e2
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x1e031463
mov eax, dword [ebx + 8]
mov dword [esi], eax
mov edx, dword [ebx + 0xc]
push 1
add edx, 6
mov ecx, esi
call fcn.1e031570
test eax, eax
jl 0x1e0314ab
mov ebx, dword [esi + 0x348]
add ebx, edi
test eax, eax
je case.0x1e03125f.0
inc dword [ebx + 8]
mov eax, dword [ebx + 0x14]
inc dword [ebx + 0x10]
mov dword [esi + 0x24], eax
mov eax, dword [ebx + 0x18]
mov dword [esi + 0x20], eax
mov eax, dword [ebx + 0xc]
movzx eax, word [eax + 4]
mov ecx, 0xffff
cmp ax, cx
je 0x1e04159b
movzx eax, ax
cmp dword [ebx + 0x10], eax
jg case.0x1e03125f.0
mov eax, dword [ebx + 8]
mov dword [esi], eax
mov eax, dword [esi + 0x350]
mov dword [esp + 0x10], eax
add eax, 0x20
cmp dword [esi + 0x34c], eax
jae 0x1e0415d4
push 0x20
mov eax, esi
call fcn.1e0334f0
pop ecx
test eax, eax
jl 0x1e0314ab
cmp edi, 0xffffffff
je 0x1e0415d4
mov ebx, dword [esi + 0x348]
add ebx, edi
mov eax, dword [esi + 0x348]
add eax, dword [esp + 0x10]
add dword [esi + 0x350], 0x20
mov dword [eax + 4], 0xa
jmp 0x1e031328
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x1e0314ab
jne 0x1e041233
jmp case.0x1e03125f.0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1e041233
jl 0x1e0314ab
jmp case.0x1e03125f.0
or dword [eax], 0xffffffff
mov edx, dword [ebx + 0xc]
lea eax, [ebx + 0x1c]
mov ecx, dword [eax]
mov dword [ecx + 4], edx
mov ecx, dword [eax]
mov edx, dword [esi + 0x354]
mov dword [ecx + 0xc], edx
mov ecx, dword [eax]
and dword [ecx + 8], 0
mov eax, dword [eax]
mov dword [esi + 0x354], eax
mov eax, dword [ebx + 8]
mov dword [esi], eax
mov eax, dword [esi + 0x350]
mov dword [esp + 0x10], eax
add eax, 0x20
cmp dword [esi + 0x34c], eax
jae 0x1e04167f
push 0x20
mov eax, esi
call fcn.1e0334f0
pop ecx
test eax, eax
jl 0x1e0314ab
cmp edi, 0xffffffff
je 0x1e04167f
mov ebx, dword [esi + 0x348]
add ebx, edi
mov eax, dword [esi + 0x348]
add eax, dword [esp + 0x10]
add dword [esi + 0x350], 0x20
mov dword [eax + 4], 7
jmp 0x1e031328
mov eax, dword [esi + 0x354]
mov dword [ebx + 0x1c], eax
test eax, eax
je 0x1e041a8f
mov eax, dword [ebx + 8]
mov dword [esi], eax
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax]
lea ecx, [eax + 1]
mov eax, dword [ebx + 0x1c]
mov dword [ebx + 0x10], ecx
mov edx, dword [eax + 4]
movzx edx, word [edx + 2]
cmp ecx, edx
jge 0x1e041722
mov dword [eax], ecx
mov eax, dword [esi + 0x350]
mov dword [esp + 0x10], eax
add eax, 0x20
cmp dword [esi + 0x34c], eax
jae 0x1e041705
push 0x20
mov eax, esi
call fcn.1e0334f0
pop ecx
test eax, eax
jl 0x1e0314ab
cmp edi, 0xffffffff
je 0x1e041705
mov ebx, dword [esi + 0x348]
add ebx, edi
mov eax, dword [esi + 0x348]
add eax, dword [esp + 0x10]
add dword [esi + 0x350], 0x20
mov dword [eax + 4], 1
jmp 0x1e041904
mov edx, dword [eax + 4]
movzx edx, word [edx + 4]
mov dword [esp + 0x24], edx
movzx edx, dx
cmp ecx, edx
jl 0x1e04174c
mov dword [esp + 0x20], ecx
mov ecx, 0xffff
cmp word [esp + 0x24], cx
jne 0x1e0419fa
mov ecx, dword [esp + 0x20]
mov edx, dword [esi]
cmp edx, dword [eax + 8]
je 0x1e0419fa
mov dword [eax], ecx
mov eax, dword [esi + 0x24]
mov dword [ebx + 0x14], eax
mov eax, dword [esi + 0x20]
mov dword [ebx + 0x18], eax
mov eax, dword [ebx + 0x14]
test eax, eax
jle 0x1e0417e0
mov ecx, dword [esi + 0x350]
shl eax, 2
mov dword [esp + 0x14], eax
lea eax, [eax + ecx + 4]
cmp dword [esi + 0x34c], eax
jae 0x1e0417b2
mov eax, dword [esp + 0x14]
add eax, 4
push eax
mov eax, esi
call fcn.1e0334f0
pop ecx
test eax, eax
jl 0x1e0314ab
cmp edi, 0xffffffff
je 0x1e0417b2
mov ebx, dword [esi + 0x348]
add ebx, edi
mov eax, dword [esp + 0x14]
add eax, 4
push eax
lea eax, [esi + 0x28]
push eax
mov eax, dword [esi + 0x348]
add eax, dword [esi + 0x350]
push eax
call fcn.1e036720
mov eax, dword [esp + 0x20]
add eax, 4
add esp, 0xc
add dword [esi + 0x350], eax
mov eax, dword [esi + 0x350]
add eax, 4
cmp dword [esi + 0x34c], eax
jae 0x1e041810
push 4
mov eax, esi
call fcn.1e0334f0
pop ecx
test eax, eax
jl 0x1e0314ab
cmp edi, 0xffffffff
je 0x1e041810
mov ebx, dword [esi + 0x348]
add ebx, edi
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + 8]
mov ecx, dword [esi + 0x350]
mov edx, dword [esi + 0x348]
mov dword [ecx + edx], eax
add dword [esi + 0x350], 4
mov eax, dword [ebx + 0x1c]
mov ecx, dword [esi]
mov dword [eax + 8], ecx
mov eax, dword [esi + 0x350]
mov dword [esp + 0x10], eax
add eax, 0x20
cmp dword [esi + 0x34c], eax
jae 0x1e041868
push 0x20
mov eax, esi
call fcn.1e0334f0
pop ecx
test eax, eax
jl 0x1e0314ab
cmp edi, 0xffffffff
je 0x1e041868
mov ebx, dword [esi + 0x348]
add ebx, edi
mov eax, dword [esi + 0x348]
add eax, dword [esp + 0x10]
add dword [esi + 0x350], 0x20
mov dword [eax + 4], 2
jmp 0x1e041904
mov eax, dword [esi + 0x354]
mov dword [ebx + 0x1c], eax
test eax, eax
je 0x1e041a8f
mov eax, dword [ebx + 8]
mov dword [esi], eax
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax]
mov ecx, dword [ebx + 0x1c]
inc eax
mov dword [ebx + 0x10], eax
mov edx, dword [ecx + 4]
movzx edx, word [edx + 2]
cmp eax, edx
jge 0x1e041914
mov dword [ecx], eax
mov eax, dword [esi + 0x350]
mov dword [esp + 0x10], eax
add eax, 0x20
cmp dword [esi + 0x34c], eax
jae 0x1e0418ec
push 0x20
mov eax, esi
call fcn.1e0334f0
pop ecx
test eax, eax
jl 0x1e0314ab
cmp edi, 0xffffffff
je 0x1e0418ec
mov ebx, dword [esi + 0x348]
add ebx, edi
mov eax, dword [esi + 0x348]
add eax, dword [esp + 0x10]
add dword [esi + 0x350], 0x20
mov dword [eax + 4], 4
mov dword [eax], edi
mov ecx, dword [ebx + 0x1c]
mov ecx, dword [ecx + 4]
add ecx, 6
jmp 0x1e031333
mov eax, dword [esi + 0x24]
mov dword [ebx + 0x14], eax
mov eax, dword [esi + 0x20]
mov dword [ebx + 0x18], eax
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + 0xc]
mov dword [esi + 0x354], eax
mov eax, dword [esi + 0x350]
mov dword [esp + 0x10], eax
add eax, 0x20
cmp dword [esi + 0x34c], eax
jae 0x1e041960
push 0x20
mov eax, esi
call fcn.1e0334f0
pop ecx
test eax, eax
jl 0x1e0314ab
cmp edi, 0xffffffff
je 0x1e041960
mov ebx, dword [esi + 0x348]
add ebx, edi
mov eax, dword [esi + 0x348]
add eax, dword [esp + 0x10]
add dword [esi + 0x350], 0x20
mov dword [eax + 4], 5
jmp 0x1e04199d
mov ebx, dword [esi + 0x348]
add ebx, edi
mov eax, dword [esi + 0x348]
add eax, dword [esp + 0x10]
add dword [esi + 0x350], 0x20
mov dword [eax + 4], 3
mov dword [eax], edi
mov ecx, dword [ebx + 0xc]
jmp 0x1e031333
test ecx, ecx
jle 0x1e0419e0
shl ecx, 2
lea edx, [ecx + 4]
push edx
mov edx, dword [esi + 0x348]
sub edx, ecx
lea eax, [edx + eax - 4]
push eax
lea eax, [esi + 0x28]
push eax
call fcn.1e036720
mov eax, dword [ebx + 0x14]
add esp, 0xc
push 0xfffffffffffffffc
shl eax, 2
pop ecx
sub ecx, eax
add dword [esi + 0x350], ecx
mov eax, dword [ebx + 0x14]
mov dword [esi + 0x24], eax
mov eax, dword [ebx + 0x18]
mov dword [esi + 0x20], eax
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x1c]
dec eax
mov dword [ecx], eax
mov eax, dword [ebx + 8]
mov dword [esi], eax
mov eax, dword [ebx + 0x1c]
mov eax, dword [eax + 0xc]
mov dword [esi + 0x354], eax
mov eax, dword [esi + 0x350]
mov dword [esp + 0x10], eax
add eax, 0x20
cmp dword [esi + 0x34c], eax
jae 0x1e041985
push 0x20
mov eax, esi
call fcn.1e0334f0
pop ecx
test eax, eax
jl 0x1e0314ab
cmp edi, 0xffffffff
je 0x1e041985
jmp 0x1e04197d
push 0x20
mov eax, esi
call fcn.1e0334f0
pop ecx
test eax, eax
jl 0x1e0314ab
cmp edi, 0xffffffff
je 0x1e031400
mov ebx, dword [esi + 0x348]
add ebx, edi
jmp 0x1e031400
push 0x20
mov eax, esi
call fcn.1e0334f0
pop ecx
test eax, eax
jl 0x1e0314ab
cmp edi, 0xffffffff
je 0x1e031310
mov ebx, dword [esi + 0x348]
add ebx, edi
jmp 0x1e031310
push 0xfffffffffffffffe
pop eax
jmp 0x1e0314ab
or eax, 0xffffffff
jmp 0x1e0314ab