Function at 0x10037d20
Capabilities:
Write file on windows

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x68
mov esi, dword [esp + 0x84]
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x80]
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x60], eax
cmp dword [esi + 0x28], 0
je 0x10037ac4
lea ebx, [esi + 0x50]
lea ecx, [esi + 0x14]
lea eax, [esi + 0x2c]
lea edi, [esi + 0x24]
lea edx, [esi + 0x18]
mov dword [esp + 8], ebx
mov dword [esp], ecx
lea ebx, [esi + 0xc]
lea ecx, [esi + 0x1c]
mov dword [esp + 0x30], eax
mov dword [esp + 4], ebx
mov dword [esp + 0x24], ecx
lea ebx, [esi + 4]
lea ecx, [esi + 8]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x38], ecx
jmp 0x10037bbb
xor eax, eax
inc eax
mov dword [esi + 0x28], eax
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x14]
mov ecx, dword [edx + ecx*4]
xor edx, edx
mov dword [ecx + 0x24], edx
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 0x14]
mov ecx, dword [edi + ecx*4]
mov dword [ecx + 0x20], eax
mov eax, dword [esi]
mov byte [eax + 0x28], 0
mov eax, dword [esi]
mov byte [eax + 0x29], 1
lea eax, [esi + 0x2c]
cmp dword [esi + 0x2c], edx
mov dword [esp + 0x30], eax
jne 0x10037b06
mov eax, dword [esp + 0x30]
mov dword [eax], 1
cmp dword [esi + 4], 0
lea ebp, [esi + 4]
jne 0x10037b1c
push 0
call fcn.101a0bc1
add esp, 4
mov dword [ebp], eax
cmp dword [esi + 8], 0
lea ebx, [esi + 0x14]
lea eax, [esi + 8]
mov dword [esp + 0x38], eax
jne 0x10037b3c
push 1
call fcn.101a0bc1
add esp, 4
mov ecx, dword [esp + 0x38]
mov dword [ecx], eax
mov eax, dword [ebx]
lea edi, [esi + 0xc]
test eax, eax
je 0x10037b53
mov edx, dword [edi]
mov ecx, dword [eax + edx*4]
test ecx, ecx
je 0x10037b53
lea eax, [eax + edx*4]
jmp 0x10037b7f
mov ecx, esi
call fcn.100285db
push esi
push 0x4000
push dword [esi + 4]
call fcn.10028661
add esp, 0xc
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x14]
mov dword [edx + ecx*4], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x14]
lea eax, [ecx + eax*4]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
lea edx, [esi + 0x1c]
mov dword [esp + 4], edi
lea edi, [esi + 0x24]
mov dword [esp + 0x44], ebp
mov dword [esp], ebx
mov dword [esp + 0x24], edx
lea edx, [esi + 0x50]
mov dword [esp + 8], edx
lea edx, [esi + 0x18]
mov dword [esi + 0x1c], ecx
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esi + 0x24], ecx
mov dword [esi + 0x50], ecx
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esi + 4], eax
mov al, byte [ecx]
mov byte [esi + 0x18], al
lea ecx, [esi + 0x60]
lea eax, [esi + 0x5c]
lea ebx, [esi + 0x44]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edx
mov dword [esp + 0xc], ecx
lea ecx, [esi + 0x20]
mov dword [esp + 0x14], eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x10], ecx
jmp 0x10037f33
inc ecx
mov dword [eax + 0x20], ecx
jmp 0x10037f2b
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov ecx, dword [eax + 0x20]
cmp ecx, dword [eax + 4]
jae 0x10037e7b
mov edx, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [edx + ecx*4]
jb 0x10037e7b
lea ebx, [ecx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [edx + ecx*4]
mov dword [eax + 0x24], edi
mov ecx, dword [ebx]
mov edx, dword [ebp]
mov ecx, dword [ecx + edx*4]
inc dword [ecx + 0x24]
mov ecx, dword [ebx]
mov edx, dword [ebp]
mov ecx, dword [ecx + edx*4]
xor edx, edx
inc edx
mov dword [ecx + 0x20], edx
mov ecx, dword [eax + 0x20]
cmp ecx, dword [eax + 4]
jb 0x10037bff
jmp 0x10037e7b
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov ecx, dword [eax + 0x20]
cmp ecx, dword [eax + 4]
jae 0x10037c8c
mov edx, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [edx + ecx*4]
jb 0x10037c8c
lea ebx, [ecx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [edx + ecx*4]
mov dword [eax + 0x24], edi
mov ecx, dword [ebx]
mov edx, dword [ebp]
mov ecx, dword [ecx + edx*4]
inc dword [ecx + 0x24]
mov ecx, dword [ebx]
mov edx, dword [ebp]
mov ecx, dword [ecx + edx*4]
xor edx, edx
inc edx
mov dword [ecx + 0x20], edx
mov ecx, dword [eax + 0x20]
cmp ecx, dword [eax + 4]
jb 0x10037c51
mov edi, dword [esp]
mov edx, dword [ebp]
mov ebx, dword [esp + 0xc]
mov ecx, dword [edi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [ebx]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [edi]
mov edx, dword [ebp]
mov ecx, dword [ecx + edx*4]
mov edx, dword [ebx]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x30]
mov dword [eax], 3
jmp 0x10037f2b
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov ecx, dword [eax + 0x20]
cmp ecx, dword [eax + 4]
jae 0x10037e7b
mov edx, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [edx + ecx*4]
jb 0x10037e7b
lea ebx, [ecx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [edx + ecx*4]
mov dword [eax + 0x24], edi
mov ecx, dword [ebx]
mov edx, dword [ebp]
mov ecx, dword [ecx + edx*4]
inc dword [ecx + 0x24]
mov ecx, dword [ebx]
mov edx, dword [ebp]
mov ecx, dword [ecx + edx*4]
xor edx, edx
inc edx
mov dword [ecx + 0x20], edx
mov ecx, dword [eax + 0x20]
cmp ecx, dword [eax + 4]
jb 0x10037cdc
jmp 0x10037e7b
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov ecx, dword [eax + 0x20]
cmp ecx, dword [eax + 4]
jae 0x10037d69
mov edx, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [edx + ecx*4]
jb 0x10037d69
lea ebx, [ecx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [edx + ecx*4]
mov dword [eax + 0x24], edi
mov ecx, dword [ebx]
mov edx, dword [ebp]
mov ecx, dword [ecx + edx*4]
inc dword [ecx + 0x24]
mov ecx, dword [ebx]
mov edx, dword [ebp]
mov ecx, dword [ecx + edx*4]
xor edx, edx
inc edx
mov dword [ecx + 0x20], edx
mov ecx, dword [eax + 0x20]
cmp ecx, dword [eax + 4]
jb 0x10037d2e
mov edi, dword [esp]
mov edx, dword [ebp]
mov ebx, dword [esp + 0xc]
mov ecx, dword [edi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [ebx]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [edi]
mov edx, dword [ebp]
mov ecx, dword [ecx + edx*4]
mov edx, dword [ebx]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov edx, dword [esp + 0x10]
mov ecx, dword [edx]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x38]
push dword [eax]
push 1
push dword [edx]
mov eax, dword [esp + 0x14]
push dword [eax]
call fcn.101b0062
add esp, 0x10
jmp 0x10037f2b
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov ecx, dword [eax + 0x20]
cmp ecx, dword [eax + 4]
jae 0x10037dfe
mov edx, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [edx + ecx*4]
jb 0x10037dfe
lea ebx, [ecx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [edx + ecx*4]
mov dword [eax + 0x24], edi
mov ecx, dword [ebx]
mov edx, dword [ebp]
mov ecx, dword [ecx + edx*4]
inc dword [ecx + 0x24]
mov ecx, dword [ebx]
mov edx, dword [ebp]
mov ecx, dword [ecx + edx*4]
xor edx, edx
inc edx
mov dword [ecx + 0x20], edx
mov ecx, dword [eax + 0x20]
cmp ecx, dword [eax + 4]
jb 0x10037dc3
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x14]
mov ecx, dword [edx + ecx*4]
mov edx, dword [esi + 0x60]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x14]
mov ecx, dword [edx + ecx*4]
mov edx, dword [esi + 0x60]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi + 0x20]
add dword [eax + 0x24], ecx
mov eax, dword [esi]
mov byte [eax + 0x28], 1
jmp 0x10037f2b
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov ecx, dword [eax + 0x20]
cmp ecx, dword [eax + 4]
jae 0x10037e7b
mov edx, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [edx + ecx*4]
jb 0x10037e7b
lea ebx, [ecx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [edx + ecx*4]
mov dword [eax + 0x24], edi
mov ecx, dword [ebx]
mov edx, dword [ebp]
mov ecx, dword [ecx + edx*4]
inc dword [ecx + 0x24]
mov ecx, dword [ebx]
mov edx, dword [ebp]
mov ecx, dword [ecx + edx*4]
xor edx, edx
inc edx
mov dword [ecx + 0x20], edx
mov ecx, dword [eax + 0x20]
cmp ecx, dword [eax + 4]
jb 0x10037e40
mov edi, dword [esp]
mov edx, dword [ebp]
mov ebx, dword [esp + 0xc]
mov ecx, dword [edi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [ebx]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [edi]
mov edx, dword [ebp]
mov ecx, dword [ecx + edx*4]
mov edx, dword [ebx]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
add dword [eax + 0x24], ecx
jmp 0x10037f2b
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov ecx, dword [eax + 0x20]
cmp ecx, dword [eax + 4]
jae 0x10037ef5
mov edx, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [edx + ecx*4]
jb 0x10037ef5
lea ebx, [ecx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [edx + ecx*4]
mov dword [eax + 0x24], edi
mov ecx, dword [ebx]
mov edx, dword [ebp]
mov ecx, dword [ecx + edx*4]
inc dword [ecx + 0x24]
mov ecx, dword [ebx]
mov edx, dword [ebp]
mov ecx, dword [ecx + edx*4]
xor edx, edx
inc edx
mov dword [ecx + 0x20], edx
mov ecx, dword [eax + 0x20]
cmp ecx, dword [eax + 4]
jb 0x10037eba
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x14]
mov ecx, dword [edx + ecx*4]
mov edx, dword [esi + 0x60]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x14]
mov ecx, dword [edx + ecx*4]
mov edx, dword [esi + 0x60]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi + 0x20]
add dword [eax + 0x24], ecx
mov eax, dword [esi]
mov byte [eax + 0x28], 1
mov dword [esi + 0x2c], 1
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [edi]
mov al, byte [edx]
mov byte [ecx], al
mov eax, dword [esp + 0x30]
mov dword [esp + 0x34], ecx
mov eax, dword [eax]
jmp 0x10037f62
sub ebp, dword [esp + 0x40]
lea eax, [ecx + ebp - 1]
mov ecx, esi
mov dword [edi], eax
call 0x1003970e
mov edx, dword [esp + 8]
mov ecx, dword [edi]
mov edx, dword [edx]
mov dword [esp + 0x34], edx
movzx edx, byte [ecx]
cmp word [eax + eax + 0x101d53fc], 0
mov dl, byte [edx + 0x101d52fc]
movzx edi, dl
je 0x10037f7f
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], ecx
movsx ebp, word [eax + eax + 0x101d567a]
add ebp, edi
movsx ebx, word [ebp + ebp + 0x101d54ba]
cmp eax, ebx
je 0x10037fbf
movsx eax, word [eax + eax + 0x101d5742]
cmp eax, 0x5f
jl 0x10037fa8
mov dl, byte [edi + 0x101d580a]
movsx ebp, word [eax + eax + 0x101d567a]
movzx edi, dl
add ebp, edi
cmp ax, word [ebp + ebp + 0x101d54ba]
jne 0x10037f95
movsx eax, word [ebp + ebp + 0x101d5828]
inc ecx
cmp eax, 0x5e
jne 0x10037f62
mov eax, dword [esi + 0x40]
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x18]
mov ebp, dword [ecx]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x34]
movsx eax, word [eax + eax + 0x101d53fc]
mov dword [ecx], edx
mov ecx, ebp
sub ecx, edx
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
mov edx, dword [esp + 0x1c]
mov cl, byte [ebp]
mov byte [edx], cl
mov byte [ebp], 0
mov dword [edi], ebp
jmp 0x10038023
mov dword [esi + 0x30], 0
mov dword [esi + 0x24], ecx
mov eax, dword [esi + 0x2c]
lea ecx, [eax - 1]
shr ecx, 0x1f
lea eax, [eax + ecx - 1]
sar eax, 1
add eax, 0x27
cmp eax, 0x28
ja case.default.0x1003802c
jmp dword [eax*4 + 0x101d5258]
mov eax, dword [esp + 8]
mov edi, dword [esp]
mov ecx, dword [esp + 4]
mov eax, dword [eax]
mov dword [esp + 0x40], eax
mov al, byte [edx]
mov byte [ebp], al
mov eax, dword [edi]
mov ebx, dword [ecx]
lea edx, [eax + ebx*4]
mov ecx, dword [edx]
cmp dword [ecx + 0x2c], 0
je 0x1003806a
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x20], eax
jmp 0x100380a6
mov eax, dword [ecx + 0x10]
mov ebx, dword [esp + 0x24]
mov dword [ebx], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [edx]
mov edx, ebx
mov ebx, dword [esp + 4]
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [edi]
mov ecx, dword [ebx]
mov eax, dword [eax + ecx*4]
mov dword [eax + 0x2c], 1
mov eax, dword [edi]
mov ecx, dword [ebx]
mov dword [esp + 0x20], eax
lea eax, [eax + ecx*4]
mov dword [esp + 0x2c], ecx
mov ecx, dword [eax]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
mov edi, dword [ecx + 4]
mov edx, dword [edx]
mov ebx, ecx
mov eax, dword [eax]
lea ecx, [edi + edx]
cmp eax, ecx
mov ecx, dword [esp + 8]
mov ecx, dword [ecx]
jbe 0x10038346
lea edx, [edi + edx + 1]
cmp eax, edx
ja 0x100396e9
sub eax, ecx
cmp dword [ebx + 0x28], 0
je 0x10038122
mov edx, ebx
cmp eax, 2
lea ebx, [eax - 1]
jl 0x10038103
xor eax, eax
mov dl, byte [ecx + eax]
mov byte [edi + eax], dl
inc eax
cmp eax, ebx
jl 0x100380e4
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov eax, dword [eax]
mov ecx, dword [ecx]
lea eax, [eax + ecx*4]
mov edx, dword [eax]
mov dword [esp + 0x28], eax
cmp dword [edx + 0x2c], 2
mov dword [esp + 0x2c], ebx
jne 0x1003813a
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
xor eax, eax
mov dword [edi], 0
jmp 0x100381f5
mov ebx, dword [esp + 0x2c]
xor edx, edx
cmp eax, 1
mov eax, 2
sete dl
sub eax, edx
jmp 0x100382f3
mov eax, dword [edx + 0xc]
mov ecx, eax
sub ecx, ebx
cmp ecx, 1
jg 0x100381bd
mov ecx, dword [esp + 0x18]
mov edi, dword [ecx]
cmp dword [edx + 0x14], 0
je 0x100396f3
mov ebx, dword [edx + 4]
test eax, eax
jle 0x10038163
add eax, eax
mov ecx, eax
jmp 0x10038172
mov ecx, eax
sar ecx, 0x1f
shr ecx, 0x1d
add ecx, eax
sar ecx, 3
add ecx, eax
mov dword [edx + 0xc], ecx
add ecx, 2
push ecx
push ebx
mov dword [esp + 0x28], edx
call fcn.101b0f79
add esp, 8
mov ecx, dword [esp + 0x20]
test eax, eax
mov dword [ecx + 4], eax
je 0x100396fa
sub edi, ebx
mov ecx, dword [esp + 4]
mov ebx, dword [esp + 0x2c]
add edi, eax
mov eax, dword [esp + 0x18]
mov dword [eax], edi
mov eax, dword [esp]
mov ecx, dword [ecx]
mov eax, dword [eax]
mov edx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov ecx, eax
sub ecx, ebx
cmp ecx, 2
jl 0x1003814c
cmp ecx, 0x2001
lea eax, [ecx - 1]
mov ecx, 0x2000
mov edi, edx
mov edx, dword [edx + 4]
cmovg eax, ecx
mov ecx, dword [esi]
add edi, 0x20
add edx, ebx
add ecx, 4
push edi
push eax
push edx
call fcn.10035146
mov dword [esi + 0x1c], eax
mov edi, dword [esp + 0x24]
mov ecx, dword [esi + 0xc]
shl ecx, 2
add ecx, dword [esi + 0x14]
mov ecx, dword [ecx]
mov dword [ecx + 0x10], eax
xor eax, eax
cmp dword [edi], 0
jne 0x10038230
test ebx, ebx
je 0x10038221
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
mov dword [eax + 0x2c], 2
mov eax, 2
jmp 0x10038230
push esi
push dword [esi + 4]
call fcn.10028957
add esp, 8
xor eax, eax
inc eax
mov dword [esp + 0x28], eax
mov eax, dword [esp]
mov ecx, dword [edi]
mov edx, dword [eax]
mov eax, dword [esp + 4]
lea edi, [ecx + ebx]
mov eax, dword [eax]
mov ebx, dword [edx + eax*4]
cmp edi, dword [ebx + 0xc]
mov dword [esp + 0x20], ebx
jle 0x100382ac
sar ecx, 1
add edi, ecx
push edi
mov eax, dword [esp + 0x24]
push dword [eax + 4]
call fcn.101b0f79
add esp, 8
mov dword [esp + 0x20], eax
mov eax, dword [esp]
mov ebx, dword [esp + 4]
mov ecx, dword [eax]
mov edx, dword [ebx]
mov ecx, dword [ecx + edx*4]
mov edx, dword [esp + 0x20]
mov dword [ecx + 4], edx
mov eax, dword [eax]
mov ecx, dword [ebx]
mov eax, dword [eax + ecx*4]
cmp dword [eax + 4], 0
je 0x10039704
add edi, 0xfffffffe
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov dword [eax + 0xc], edi
mov edi, dword [esp]
mov eax, dword [ebx]
add edx, dword [ecx]
shl eax, 2
add eax, dword [edi]
mov edi, edx
jmp 0x100382b7
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 4]
lea eax, [edx + eax*4]
mov dword [ecx], edi
xor edx, edx
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov byte [eax + edi], dl
mov edi, dword [esp]
mov edx, dword [ebx]
mov eax, dword [edi]
mov eax, dword [eax + edx*4]
mov edx, dword [ecx]
mov ecx, 0
mov eax, dword [eax + 4]
mov byte [eax + edx + 1], cl
mov eax, dword [edi]
mov ebx, dword [ebx]
mov dword [esp + 0x20], eax
mov eax, dword [eax + ebx*4]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 8]
mov dword [eax], ecx
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
cmp eax, 1
je 0x10038007
cmp eax, 2
jne 0x100383cb
mov eax, dword [esp + 0x20]
mov ecx, esi
mov eax, dword [eax + ebx*4]
mov eax, dword [eax + 4]
add eax, dword [esi + 0x1c]
mov dword [edi], eax
call 0x1003970e
mov ecx, dword [esp + 8]
mov ecx, dword [ecx]
mov dword [esp + 0x34], ecx
mov ecx, edi
jmp 0x10037fd8
mov al, byte [esi + 0x18]
mov byte [ebp], al
mov eax, dword [esi + 0x40]
mov ecx, dword [esp + 0x3c]
jmp 0x10037fd8
sub ebp, dword [esp + 0x40]
mov edi, dword [esp + 0x18]
lea eax, [ecx + ebp - 1]
mov ecx, esi
mov dword [edi], eax
call 0x1003970e
cmp word [eax + eax + 0x101d53fc], 0
je 0x1003836f
mov ecx, dword [esi + 0x24]
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], ecx
movsx ecx, word [eax + eax + 0x101d567a]
movsx edx, word [ecx + ecx + 0x101d54bc]
cmp eax, edx
je 0x1003839d
movsx eax, word [eax + eax + 0x101d5742]
movsx ecx, word [eax + eax + 0x101d567a]
cmp ax, word [ecx + ecx + 0x101d54bc]
jne 0x10038383
mov eax, dword [esp + 8]
inc ecx
test ecx, ecx
mov eax, dword [eax]
mov dword [esp + 0x34], eax
je 0x1003833a
movzx eax, word [ecx + ecx + 0x101d5828]
movzx ecx, ax
cmp ecx, 0x5e
je 0x1003833a
mov ecx, dword [edi]
cwde
inc ecx
mov dword [edi], ecx
jmp 0x10037f62
test eax, eax
jne 0x10037f33
jmp 0x10037f45
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov ecx, dword [eax + 0x20]
cmp ecx, dword [eax + 4]
jae 0x10038421
mov edx, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [edx + ecx*4]
jb 0x10038421
lea ebx, [ecx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [edx + ecx*4]
mov dword [eax + 0x24], edi
mov ecx, dword [ebx]
mov edx, dword [ebp]
mov ecx, dword [ecx + edx*4]
inc dword [ecx + 0x24]
mov ecx, dword [ebx]
mov edx, dword [ebp]
mov ecx, dword [ecx + edx*4]
xor edx, edx
inc edx
mov dword [ecx + 0x20], edx
mov ecx, dword [eax + 0x20]
cmp ecx, dword [eax + 4]
jb 0x100383e6
mov edi, dword [esp]
mov edx, dword [ebp]
mov ebx, dword [esp + 0xc]
mov ecx, dword [edi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [ebx]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [edi]
mov edx, dword [ebp]
mov ecx, dword [ecx + edx*4]
mov edx, dword [ebx]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
add dword [eax + 0x24], ecx
mov eax, dword [edi]
mov ecx, dword [ebp]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x20]
cmp ecx, 0x7fffffff
jne 0x10037be4
jmp 0x1003870b
mov ecx, dword [esi]
mov edi, dword [esp + 4]
mov ebx, dword [esp]
mov edx, dword [ecx + 4]
lea eax, [edx - 1]
test edx, edx
cmove eax, edx
cmp dword [ecx + 0x20], eax
je 0x100384a7
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], 0
mov ecx, dword [ebx]
mov edx, dword [edi]
mov ecx, dword [ecx + edx*4]
mov dword [ecx + 0x24], eax
mov eax, dword [ebx]
mov ecx, dword [edi]
mov eax, dword [eax + ecx*4]
mov dword [eax + 0x20], 1
mov eax, dword [ebx]
mov ecx, dword [edi]
mov edx, dword [esp + 0xc]
mov eax, dword [eax + ecx*4]
mov ecx, dword [edx]
mov eax, dword [eax + 0x24]
mov dword [ecx], eax
mov eax, dword [ebx]
mov ecx, dword [edi]
mov eax, dword [eax + ecx*4]
mov ecx, dword [edx]
mov eax, dword [eax + 0x20]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
cmp dword [eax + 0x14], 0x10
mov ecx, eax
jb 0x100384d8
mov ecx, dword [eax]
mov dword [eax + 0x10], 0
mov byte [ecx], 0
mov eax, dword [ebx]
mov ecx, dword [edi]
mov eax, dword [eax + ecx*4]
cmp dword [eax + 0x20], 0x7fffffff
jne 0x10039240
mov eax, dword [esi]
lea ebx, [esp + 0x50]
mov ecx, ebx
mov edi, dword [eax]
mov dword [ebx + 0x14], 0xf
mov dword [ebx + 0x10], 0
mov byte [ebx], 0
push 0x1f
push 0x101d59e8
call fcn.100055a8
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x14]
lea edx, [esp + 0x48]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov ecx, edi
push ebx
push edx
push 0x2a
call fcn.10031de0
mov ecx, ebx
call fcn.1000419e
xor edi, edi
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x10038597
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x10038597
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x1003855f
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push dword [esi]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.100055a8
mov edi, 0x118
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x1003862c
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x1003862c
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x100385f4
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 8]
mov ecx, dword [eax]
mov eax, dword [esi]
movsx eax, byte [eax]
push eax
push 1
call fcn.1000739a
mov eax, dword [esi]
movsx edi, byte [eax]
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x100386c5
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x100386c5
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x1003868d
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
add dword [eax + 0x24], ecx
mov eax, dword [esi]
mov ecx, dword [ebp]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x20]
cmp ecx, 0x7fffffff
jne 0x100396bb
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push 0x1f
push 0x101d59e8
call fcn.100055a8
xor edi, edi
dec edi
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x1003876e
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x1003876e
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x10038736
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push dword [esi]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.100055a8
mov edi, 0x102
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x10038803
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x10038803
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x100387cb
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push dword [esi]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.100055a8
mov edi, 0x104
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x10038898
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x10038898
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x10038860
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push dword [esi]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.100055a8
mov edi, 0x105
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x1003892d
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x1003892d
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x100388f5
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push dword [esi]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.100055a8
mov edi, 0x106
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x100389c2
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x100389c2
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x1003898a
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push dword [esi]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.100055a8
mov edi, 0x108
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x10038a57
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x10038a57
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x10038a1f
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push dword [esi]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.100055a8
mov edi, 0x10a
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x10038aec
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x10038aec
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x10038ab4
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push dword [esi]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.100055a8
mov edi, 0x114
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x10038b81
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x10038b81
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x10038b49
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push dword [esi]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.100055a8
mov edi, 0x111
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x10038c16
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x10038c16
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x10038bde
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push dword [esi]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.100055a8
mov edi, 0x112
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x10038cab
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x10038cab
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x10038c73
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [esp + 8]
mov eax, dword [eax]
movsx eax, byte [eax]
push eax
push 1
call fcn.1000739a
mov edi, 0x11c
jmp 0x100396d5
mov eax, dword [esi]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x10038d44
xor ecx, ecx
inc ecx
mov edi, dword [eax + 0xc]
mov ebx, dword [eax + 0x24]
cmp ebx, dword [edi + edx*4]
jb 0x10038d44
lea ebp, [edx + 1]
mov dword [eax + 0x20], ebp
mov ebp, dword [esp]
sub ebx, dword [edi + edx*4]
mov dword [eax + 0x24], ebx
mov ebx, dword [esp + 4]
mov edx, dword [ebp]
mov edi, dword [ebx]
mov edx, dword [edx + edi*4]
inc dword [edx + 0x24]
mov edx, dword [ebp]
mov edi, dword [ebx]
mov edx, dword [edx + edi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x10038d08
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x14]
mov ecx, dword [edx + ecx*4]
mov edx, dword [esi + 0x60]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x14]
mov ecx, dword [edx + ecx*4]
mov edx, dword [esi + 0x60]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi + 0x20]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 8]
mov ecx, dword [esi + 0x5c]
mov eax, dword [eax]
movsx eax, byte [eax]
push eax
push 1
call fcn.1000739a
mov eax, dword [esi]
xor ecx, ecx
cmp byte [eax + 0x29], 0
sete cl
lea edi, [ecx + ecx + 0x11a]
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x10038de1
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x10038de1
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x10038da9
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push dword [esi]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.100055a8
mov edi, 0x10c
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x10038e76
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x10038e76
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x10038e3e
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push dword [esi]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.100055a8
mov edi, 0x10e
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x10038f0b
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x10038f0b
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x10038ed3
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push dword [esi]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.100055a8
mov edi, 0x116
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x10038fa0
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x10038fa0
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x10038f68
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push dword [esi]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.100055a8
mov edi, 0x117
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x10039035
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x10039035
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x10038ffd
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push dword [esi]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.100055a8
mov edi, 0x103
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x100390ca
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x100390ca
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x10039092
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push dword [esi]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.100055a8
mov edi, 0x11b
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x1003915f
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x1003915f
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x10039127
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push dword [esi]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.100055a8
mov edi, 0x107
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x100391f4
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x100391f4
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x100391bc
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push dword [esi]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.100055a8
mov edi, 0x10f
jmp 0x100396d5
mov eax, dword [esp + 0x30]
xor edi, edi
mov eax, dword [eax]
add eax, 0xfffffffd
cmp eax, 1
ja 0x100396d5
mov eax, dword [esi]
lea ebp, [esp + 0x50]
mov ecx, ebp
mov ebx, dword [eax]
mov dword [ebp + 0x14], 0xf
mov dword [ebp + 0x10], 0
mov byte [ebp], 0
push 0x16
push str.EOF_while_in_a_comment
call fcn.100055a8
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x14]
lea edx, [esp + 0x48]
mov eax, dword [ecx + eax*4]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov ecx, ebx
push ebp
push edx
push 0xa
call fcn.10031de0
mov ecx, ebp
call fcn.1000419e
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x100392f4
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x100392f4
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x100392bc
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push dword [esi]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.100055a8
mov edi, 0x109
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x10039389
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x10039389
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x10039351
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push dword [esi]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.100055a8
mov edi, 0x10d
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x1003941e
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x1003941e
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x100393e6
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push dword [esi]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.100055a8
mov edi, 0x113
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x100394b3
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x100394b3
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x1003947b
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push dword [esi]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.100055a8
mov edi, 0x10b
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x10039548
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x10039548
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x10039510
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push dword [esi]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.100055a8
mov edi, 0x115
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x100395dd
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x100395dd
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x100395a5
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push dword [esi]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.100055a8
mov edi, 0x119
jmp 0x100396d5
mov eax, dword [esi]
mov ebp, dword [esp + 4]
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jae 0x10039672
xor ecx, ecx
inc ecx
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x24]
cmp edi, dword [esi + edx*4]
jb 0x10039672
lea ebx, [edx + 1]
mov dword [eax + 0x20], ebx
mov ebx, dword [esp]
sub edi, dword [esi + edx*4]
mov dword [eax + 0x24], edi
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
inc dword [edx + 0x24]
mov edx, dword [ebx]
mov esi, dword [ebp]
mov edx, dword [edx + esi*4]
mov dword [edx + 0x20], ecx
mov edx, dword [eax + 0x20]
cmp edx, dword [eax + 4]
jb 0x1003963a
mov esi, dword [esp]
mov edx, dword [ebp]
mov edi, dword [esp + 0xc]
mov ecx, dword [esi]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x24]
mov dword [edx], ecx
mov ecx, dword [esi]
mov edx, dword [ebp]
mov esi, dword [esp + 0x10]
mov ecx, dword [ecx + edx*4]
mov edx, dword [edi]
mov ecx, dword [ecx + 0x20]
mov dword [edx + 4], ecx
mov ecx, dword [esi]
add dword [eax + 0x24], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push dword [esi]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.100055a8
mov edi, 0x110
jmp 0x100396d5
inc ecx
mov dword [eax + 0x20], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
xor eax, eax
inc eax
push 0xa
push eax
call fcn.1000739a
mov edi, 0xa
mov eax, edi
add esp, 0x68
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, str.fatal_flex_scanner_internal_error__no_action_found
call fcn.10028930
mov ecx, str.fatal_flex_scanner_internal_error__end_of_buffer_missed
call fcn.10028930
mov dword [edx + 4], 0
mov ecx, str.fatal_error___scanner_input_buffer_overflow
call fcn.10028930
mov ecx, str.out_of_dynamic_memory_in_yy_get_next_buffer__
call fcn.10028930
push ebp
push ebx
push edi
push esi
push eax
mov edx, dword [ecx + 0x24]
mov esi, dword [ecx + 0x50]
mov eax, dword [ecx + 0x2c]
cmp esi, edx
mov dword [esp], edx
jae 0x10039796
movzx edi, byte [esi]
test edi, edi
je 0x10039732
mov bl, byte [edi + 0x101d52fc]
jmp 0x10039734
mov bl, 1
cmp word [eax + eax + 0x101d53fc], 0
je 0x10039745
mov dword [ecx + 0x40], eax
mov dword [ecx + 0x44], esi
movsx ebp, word [eax + eax + 0x101d567a]
movzx edi, bl
add ebp, edi
movsx edx, word [ebp + ebp + 0x101d54ba]
cmp eax, edx
je 0x10039788
movsx eax, word [eax + eax + 0x101d5742]
cmp eax, 0x5f
jl 0x10039771
mov bl, byte [edi + 0x101d580a]
movsx ebp, word [eax + eax + 0x101d567a]
movzx edi, bl
add ebp, edi
cmp ax, word [ebp + ebp + 0x101d54ba]
jne 0x1003975e
inc esi
movsx eax, word [ebp + ebp + 0x101d5828]
cmp esi, dword [esp]
jb 0x10039723
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret