Function at 0x45fbf7
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xfc
mov eax, dword [0x4b900c]
xor eax, esp
mov dword [esp + 0xf8], eax
mov eax, dword [ebp + 8]
and dword [esp + 0x60], 0
push ebx
mov ebx, ecx
mov dword [esp + 0x1c], eax
push esi
push edi
mov esi, edx
mov dword [esp + 0x60], ebx
mov edi, dword [ebx]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], 1
mov dword [esp + 0x3c], edi
call fcn.0045cd1f
mov dword [esp + 0x14], eax
test esi, esi
je 0x460e49
cmp byte [edi + 0x49], 0
jne 0x460e49
xor eax, eax
cmp dword [ebx + 0x24], eax
jne 0x460e49
push eax
push eax
push eax
push 0x15
pop edx
mov ecx, ebx
call fcn.0044bd79
add esp, 0xc
test eax, eax
jne 0x460e49
push 0x30
push eax
lea eax, [esp + 0x84]
push eax
call fcn.00479680
mov eax, dword [esp + 0x30]
add esp, 0xc
push 8
pop ecx
cmp byte [eax], cl
ja 0x45fca8
mov edx, dword [esi + 0x2c]
mov ecx, edi
call fcn.0044611f
and dword [esi + 0x2c], 0
and dword [esi + 8], 0xfffffffe
push 0
mov edx, esi
mov ecx, ebx
call fcn.0045f72a
pop ecx
push 9
xor eax, eax
lea edi, [esp + 0xb0]
cmp dword [ebx + 0x24], 0
pop ecx
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0x2c]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x18], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0x28], edi
jne 0x460e11
mov eax, dword [esp + 0x3c]
cmp byte [eax + 0x49], 0
jne 0x460e11
mov eax, dword [esi + 8]
shr eax, 3
and eax, 1
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x24]
cmp byte [eax], 9
jne 0x45fd12
mov edx, esi
mov ecx, ebx
call fcn.0045c7ed
mov eax, dword [esp + 0x24]
xor edx, edx
cmp dword [esi + 0x30], edx
jmp 0x45fe0d
cmp edx, dword [edi]
jge 0x45fe17
imul eax, edx, 0x48
mov dword [esp + 0x2c], eax
test byte [eax + edi + 0x2c], 8
mov ecx, dword [eax + edi + 0x1c]
mov dword [esp + 0x34], ecx
mov ecx, dword [eax + edi + 0x18]
mov dword [esp + 0x10], ecx
je 0x45fd7e
mov edx, dword [eax + edi + 0x34]
mov ecx, dword [esi + 0x20]
call fcn.0044950b
test eax, eax
je 0x45fd76
mov eax, dword [esp + 0x3c]
mov ecx, 0x2000
test word [eax + 0x44], cx
jne 0x45fd76
mov edx, dword [esp + 0x2c]
and byte [edx + edi + 0x2c], 0xd7
mov edx, dword [edx + edi + 0x34]
mov ecx, dword [esi + 0x20]
call fcn.0045b410
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x34]
test eax, eax
je 0x45fe04
mov eax, dword [eax]
movsx ecx, word [ecx + 0x2a]
cmp ecx, dword [eax]
jne 0x45fe3e
mov eax, dword [esp + 0x34]
test byte [eax + 8], 8
jne 0x45fe04
cmp dword [eax + 0x2c], 0
je 0x45fdbc
test edx, edx
jne 0x45fdbc
test dword [esi + 8], 0x40000
je 0x45fdbc
cmp dword [edi], 1
je 0x45fe04
test byte [edi + 0x74], 0xa
jne 0x45fe04
push dword [esp + 0x50]
mov ecx, ebx
push edx
mov edx, esi
call fcn.0045e479
mov edx, dword [esp + 0x38]
test eax, eax
mov edi, dword [esi + 0x1c]
pop ecx
pop ecx
push 0xffffffffffffffff
pop eax
cmovne edx, eax
mov dword [esp + 0x28], edi
mov eax, dword [esp + 0x3c]
cmp byte [eax + 0x49], 0
jne 0x460e11
mov eax, dword [esp + 0x24]
cmp byte [eax], 8
jbe 0x45fe08
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x18], eax
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x24]
inc edx
cmp dword [esi + 0x30], 0
mov dword [esp + 0x30], edx
je 0x45fd1c
cmp dword [esi + 0x30], 0
je 0x45fe64
push eax
mov edx, esi
mov ecx, ebx
call fcn.0045d2bd
cmp dword [esi + 0x34], 0
mov edi, eax
pop ecx
jne 0x45fe37
mov ecx, ebx
call fcn.004368d2
mov eax, edi
jmp 0x460e4c
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx]
push dword [eax]
mov eax, dword [esp + 0x14]
push dword [eax]
movsx eax, word [eax + 0x2a]
push eax
push str.INSERT_INTO__Q._s_VALUES_index__Q__Q__d__Q__
push ebx
call fcn.00420c98
add esp, 0x14
jmp 0x460e11
xor ecx, ecx
mov dword [esp + 0x34], ecx
cmp dword [edi], ecx
jle 0x46014e
mov edi, dword [esp + 0x14]
imul eax, ecx, 0x48
mov ecx, dword [esp + 0x28]
add ecx, 8
add ecx, eax
mov dword [esp + 0xc], ecx
mov eax, dword [ecx + 0x38]
or eax, dword [ecx + 0x3c]
jne 0x45feaa
push dword [ecx + 4]
push str.Fcn_i
push dword [ecx + 8]
mov ecx, ebx
push 0x14
pop edx
call fcn.0044bd79
mov ecx, dword [esp + 0x18]
add esp, 0xc
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x10], eax
test eax, eax
je 0x460139
cmp dword [ecx + 0x18], 0
je 0x45fee0
test byte [ecx + 0x28], 0x10
jne 0x460139
push dword [ecx + 0x18]
push dword [ecx + 0x1c]
mov ecx, edi
push 0xe
pop edx
call fcn.00436721
pop ecx
pop ecx
jmp 0x460139
mov ecx, esi
call fcn.004451ab
add dword [ebx + 0x198], eax
mov ecx, 0x1000
mov eax, dword [esp + 0x3c]
test word [eax + 0x44], cx
jne 0x45ff1f
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
movzx eax, byte [ecx + 0x24]
shr eax, 5
and eax, 1
push eax
push dword [ecx + 0x2c]
mov ecx, ebx
push dword [esi + 0x20]
call fcn.0045e8ea
add esp, 0xc
cmp dword [esp + 0x34], 0
mov edx, dword [esp + 0xc]
mov eax, dword [ebx + 0x1b4]
mov dword [esp + 0x54], eax
mov eax, dword [edx + 8]
mov dword [ebx + 0x1b4], eax
jne 0x460003
mov eax, dword [esp + 0x28]
cmp dword [eax], 1
je 0x45ff54
test byte [eax + 0x74], 0xa
je 0x460003
mov edi, dword [esp + 0x14]
mov ecx, edi
call fcn.00436b11
lea esi, [eax + 1]
mov eax, dword [ebx + 0x2c]
push esi
inc eax
push 0
push eax
mov dword [ebx + 0x2c], eax
mov dword [edx + 0x1c], eax
push 0xf
pop edx
call fcn.0043669d
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0xf8]
add esp, 0xc
mov dword [eax + 0x18], esi
push dword [eax + 0x1c]
push 0xd
pop edx
call fcn.0045b0ac
add esp, 4
push dword [esp + 0x10]
push 0x4b0820
push 1
push ebx
call fcn.0043687e
mov edx, dword [esp + 0x20]
lea eax, [esp + 0xfc]
push eax
mov ecx, ebx
call fcn.0045fbf7
mov edx, dword [esp + 0x20]
add esp, 0x14
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + 0x10]
mov ax, word [eax + 6]
mov word [ecx + 0x2c], ax
mov ecx, edi
mov eax, dword [esp + 0xf4]
or dword [edx + 0x28], 0x10
mov dword [edx + 0x20], eax
mov edx, dword [edx + 0x1c]
call fcn.00436950
lea edx, [esi - 1]
mov ecx, edi
call fcn.00436c48
mov ecx, ebx
call fcn.00449a3b
mov esi, dword [esp + 0x5c]
jmp 0x460110
mov edi, dword [esp + 0x14]
xor eax, eax
mov dword [esp + 0x20], eax
mov ecx, edi
mov eax, dword [ebx + 0x2c]
inc eax
push eax
push 0
mov dword [ebx + 0x2c], eax
mov dword [edx + 0x1c], eax
push 0x43
pop edx
call fcn.00436721
pop ecx
pop ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x44], eax
inc eax
push 8
mov dword [ecx + 0x18], eax
pop eax
test byte [ecx + 0x28], al
jne 0x46004c
push 0x14
pop edx
mov ecx, edi
call fcn.004366ff
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x20], eax
mov edx, ecx
mov ecx, dword [esp + 0x28]
call fcn.0045fb8f
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x46008a
push dword [eax + 0x2c]
push dword [ecx + 0x2c]
mov ecx, edi
push 0x6c
pop edx
call fcn.00436721
mov eax, dword [esp + 0x34]
pop ecx
pop ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
mov ax, word [eax + 6]
mov word [ecx + 6], ax
jmp 0x4600c6
push dword [ecx + 0x2c]
lea ecx, [esp + 0xf0]
push 0xc
pop edx
call fcn.0045b0ac
add esp, 4
push dword [esp + 0x10]
push 0x4b0830
push 1
push ebx
call fcn.0043687e
mov edx, dword [esp + 0x20]
lea eax, [esp + 0xfc]
push eax
mov ecx, ebx
call fcn.0045fbf7
add esp, 0x14
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x10]
mov eax, dword [esp + 0x10]
mov ax, word [eax + 6]
mov word [ecx + 0x2c], ax
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4600ea
mov edx, eax
mov ecx, edi
call fcn.00436c48
mov eax, dword [esp + 0xc]
mov ecx, edi
push dword [eax + 0x1c]
push 0x3f
pop edx
call fcn.0043670d
mov edx, dword [esp + 0x48]
pop ecx
push eax
mov ecx, edi
call fcn.00436c00
pop ecx
mov ecx, ebx
call fcn.00449a3b
mov eax, dword [esp + 0x3c]
cmp byte [eax + 0x49], 0
jne 0x460e11
mov ecx, esi
call fcn.004451ab
sub dword [ebx + 0x198], eax
mov eax, dword [esp + 0x54]
mov edi, dword [esp + 0x14]
mov dword [ebx + 0x1b4], eax
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
inc ecx
mov dword [esp + 0x34], ecx
cmp ecx, dword [eax]
jl 0x45fe76
mov eax, dword [esi + 0x20]
xor ecx, ecx
mov edx, dword [esi]
inc ecx
mov edi, dword [esp + 0x18]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x24]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x28]
mov dword [esp + 0x34], eax
mov al, byte [esi + 8]
and al, cl
mov dword [esp + 0x10], edx
mov byte [esp + 0x1f], al
mov byte [esp + 0xec], al
mov eax, dword [esi + 8]
and al, 9
cmp al, cl
jne 0x4601b7
or eax, 0xffffffff
mov ecx, edi
push eax
call fcn.00449363
mov edx, dword [esp + 0x14]
pop ecx
test eax, eax
jne 0x4601b7
mov ecx, dword [esp + 0x3c]
and dword [esi + 8], 0xfffffffe
push eax
call fcn.00445a65
mov edx, dword [esp + 0x14]
pop ecx
mov dword [esp + 0xc], eax
mov dword [esi + 0x24], eax
test edi, edi
je 0x4601ff
push dword [edx]
mov edx, edi
mov ecx, ebx
push 0
call fcn.0045c25b
mov edx, dword [ebx + 0x28]
mov ecx, eax
push 0xfffffffffffffff7
push ecx
push 0
lea eax, [edx + 1]
mov dword [esp + 0xc8], edx
mov dword [ebx + 0x28], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
mov eax, dword [edi]
inc ecx
mov edi, dword [esp + 0x28]
add eax, ecx
push eax
push edx
push 0x6e
pop edx
mov ecx, edi
call fcn.004367ed
add esp, 0x1c
jmp 0x460206
mov edi, dword [esp + 0x14]
or eax, 0xffffffff
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x24]
cmp byte [eax], 0xc
jne 0x46022b
mov ecx, dword [esp + 0x10]
push dword [ecx]
mov ecx, edi
push dword [eax + 4]
push 0x6e
pop edx
call fcn.00436721
pop ecx
pop ecx
mov ecx, edi
call fcn.0043696d
mov ecx, 0x4000
mov dword [esp + 0x78], eax
test dword [esi + 8], ecx
jne 0x460249
mov ecx, 0x140
mov word [esi + 6], cx
push eax
mov edx, esi
mov ecx, ebx
call fcn.0045cd3f
cmp dword [esi + 0xc], 0
pop ecx
jne 0x460279
mov eax, dword [esp + 0xc0]
test eax, eax
js 0x460279
push 0x6f
mov edx, eax
mov ecx, edi
call fcn.00436bf1
or byte [esp + 0xcc], 1
pop ecx
test byte [esi + 8], 1
je 0x4602da
mov esi, dword [ebx + 0x28]
mov edx, dword [esp + 0x5c]
push 0xfffffffffffffff7
push ecx
lea eax, [esi + 1]
mov dword [esp + 0xf8], esi
mov dword [ebx + 0x28], eax
mov ecx, ebx
mov edx, dword [edx]
push 0
push 0
call fcn.0045c25b
add esp, 0xc
mov ecx, edi
push eax
push 0
push 0
push esi
push 0x6e
pop edx
call fcn.004367ed
add esp, 0x14
mov dword [esp + 0xf4], eax
mov ecx, edi
push 8
pop eax
mov edx, eax
call fcn.00436c30
mov esi, dword [esp + 0x5c]
mov byte [esp + 0xed], 3
jmp 0x4602e2
mov byte [esp + 0xed], 0
cmp dword [esp + 0x50], 0
mov eax, dword [esp + 0xc]
jne 0x460403
test eax, eax
jne 0x460403
xor ecx, ecx
mov eax, 0x100
cmp byte [esp + 0x1f], cl
mov edx, 0x4000
cmovne ecx, eax
mov ax, word [esi + 8]
and ax, dx
mov edx, dword [esp + 0x28]
or cx, ax
movsx eax, word [esi + 6]
push eax
movzx ecx, cx
push ecx
push dword [esi]
mov ecx, ebx
push dword [esp + 0x24]
push dword [esp + 0x50]
call fcn.0046cbc7
mov ecx, eax
add esp, 0x14
mov dword [esp + 0x20], ecx
test ecx, ecx
je 0x460e11
call fcn.00468c42
cmp ax, word [esi + 6]
jge 0x460359
call fcn.00468c42
mov word [esi + 6], ax
cmp byte [esp + 0x1f], 0
je 0x460375
call fcn.00468c47
test eax, eax
je 0x460375
call fcn.00468c47
mov byte [esp + 0xed], al
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4603aa
call fcn.00468c4c
mov edx, eax
mov dword [esp + 0xb0], edx
call fcn.00468c51
mov byte [esp + 0xc9], al
mov eax, dword [esp + 0x18]
push 0
cmp edx, dword [eax]
pop edx
cmove eax, edx
mov dword [esp + 0xac], eax
mov edx, dword [esp + 0xc0]
test edx, edx
js 0x4603c4
test eax, eax
jne 0x4603c4
mov ecx, edi
call fcn.00436d93
mov ecx, dword [esp + 0x20]
call fcn.00468c5a
push eax
call fcn.00468c56
push eax
mov eax, dword [esp + 0x2c]
mov edx, esi
push eax
lea eax, [esp + 0xf8]
mov ecx, ebx
push eax
lea eax, [esp + 0xbc]
push eax
or eax, 0xffffffff
push eax
call fcn.0045ba8c
mov ecx, dword [esp + 0x38]
add esp, 0x18
call fcn.0046d4de
jmp 0x460da0
and dword [esp + 0x4c], 0
and dword [esp + 0x2c], 0
test eax, eax
je 0x460452
mov edx, dword [esi]
mov ecx, dword [edx]
test ecx, ecx
jle 0x46042d
add edx, 0x1a
xor edi, edi
dec ecx
mov word [edx], di
lea edx, [edx + 0x18]
test ecx, ecx
jg 0x46041c
mov edi, dword [esp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
jle 0x460447
lea edx, [eax + 0x1a]
xor edi, edi
dec ecx
mov word [edx], di
lea edx, [edx + 0x18]
test ecx, ecx
jg 0x460436
mov edi, dword [esp + 0x14]
push 0x42
pop ecx
cmp word [esi + 6], cx
jle 0x460458
jmp 0x460454
xor ecx, ecx
mov word [esi + 6], cx
mov edx, dword [esp + 0x18]
mov ecx, eax
push 0xffffffffffffffff
call fcn.00449363
pop ecx
xor ecx, ecx
test eax, eax
push 1
pop eax
cmove ecx, eax
mov dword [esp + 0x44], ecx
mov ecx, edi
call fcn.0043696d
mov dword [esp + 0x30], eax
lea edi, [esp + 0xd0]
xor eax, eax
push 7
pop ecx
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x7c]
mov edi, dword [esp + 0x28]
mov dword [esp + 0xd8], eax
mov eax, dword [ebx + 0x2c]
inc eax
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], edi
mov dword [esp + 0x8c], eax
test ecx, ecx
je 0x4604c8
mov eax, dword [ecx]
mov dword [esp + 0x88], eax
jmp 0x4604d0
and dword [esp + 0x88], 0
mov edx, dword [esp + 0x10]
mov dword [esp + 0x94], ecx
lea ecx, [esp + 0xd0]
call fcn.0044993b
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0xd0]
call fcn.0044993b
mov eax, dword [esp + 0x34]
test eax, eax
je 0x460529
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x46051b
mov edx, esi
mov ecx, ebx
call fcn.0045fb49
mov eax, dword [esi + 0x20]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x34]
mov edx, eax
lea ecx, [esp + 0xd0]
call fcn.004498f9
cmp dword [esi + 0x24], 0
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xa8]
jne 0x460574
cmp dword [esi + 0x28], 0
jne 0x460574
cmp eax, 1
jne 0x460574
mov edx, dword [esp + 0xa4]
lea eax, [esp + 0x6c]
mov ecx, dword [esp + 0x3c]
push eax
mov edx, dword [edx]
call fcn.0045ea00
mov byte [esp + 0x3f], al
mov eax, dword [esp + 0xac]
pop ecx
jmp 0x460579
mov byte [esp + 0x3b], 0
and dword [esp + 0x20], 0
test eax, eax
jle 0x4605e8
mov ax, word [esp + 0xe8]
xor esi, esi
mov edi, dword [esp + 0x20]
push 8
pop ebx
or ax, bx
lea ecx, [esp + 0xd0]
mov word [esp + 0xe8], ax
mov eax, dword [esp + 0xa4]
mov edx, dword [eax + esi]
mov edx, dword [edx + 0x14]
call fcn.0044993b
mov ax, word [esp + 0xe8]
lea esi, [esi + 0x10]
mov ecx, 0xfff7
and ax, cx
inc edi
mov word [esp + 0xe8], ax
cmp edi, dword [esp + 0xa8]
jl 0x460593
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x28]
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x3c]
cmp byte [eax + 0x49], 0
jne 0x460e11
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x460ba7
mov eax, dword [ebx + 0x28]
mov edx, ecx
push dword [esp + 0x9c]
mov dword [esp + 0x84], eax
mov ecx, ebx
inc eax
push 0
mov dword [ebx + 0x28], eax
call fcn.0045c25b
mov edi, dword [esp + 0x1c]
mov ecx, edi
push 0xfffffffffffffff7
push eax
push 0
push dword [esp + 0x9c]
mov dword [esp + 0x8c], eax
push dword [esp + 0x98]
push 0x6f
pop edx
call fcn.004367ed
mov dword [esp + 0x8c], eax
add esp, 0x1c
mov eax, dword [ebx + 0x2c]
mov ecx, edi
inc eax
mov dword [esp + 0x54], eax
inc eax
mov dword [esp + 0x18], eax
inc eax
mov dword [ebx + 0x2c], eax
call fcn.0043696d
inc dword [ebx + 0x2c]
mov ecx, edi
mov dword [esp + 0x60], eax
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x20], eax
call fcn.0043696d
mov ecx, dword [ebx + 0x2c]
mov edx, dword [esp + 0xc]
push dword [esp + 0x18]
mov dword [esp + 0x54], eax
lea eax, [ecx + 1]
add ecx, dword [edx]
mov dword [esp + 0x68], eax
mov dword [ebx + 0x2c], ecx
push 0
lea eax, [ecx + 1]
mov dword [esp + 0x50], eax
mov eax, dword [edx]
add eax, ecx
mov ecx, edi
push 0x43
pop edx
mov dword [ebx + 0x2c], eax
call fcn.00436721
push dword [esp + 0x5c]
mov ecx, edi
push 0
push 0x43
pop edx
call fcn.00436721
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x74]
dec eax
add eax, ecx
push eax
push ecx
push 0
push 0x46
pop edx
mov ecx, edi
call fcn.0043669d
add esp, 0x1c
mov ecx, edi
push dword [esp + 0x50]
push dword [esp + 0x24]
push 0xe
pop edx
call fcn.00436721
push 0
cmp dword [esp + 0x50], 0
mov ecx, 0x240
mov edx, dword [esp + 0x34]
push 0x40
pop eax
cmovne eax, ecx
mov ecx, ebx
movzx eax, ax
push eax
push 0
push dword [esp + 0x20]
push dword [esp + 0x58]
call fcn.0046cbc7
mov edx, eax
add esp, 0x1c
mov dword [esp + 0x68], edx
test edx, edx
je 0x460e11
mov ecx, edx
call fcn.00468c4c
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx]
jne 0x460756
xor esi, esi
mov dword [esp + 0x58], esi
jmp 0x4608ee
cmp byte [esp + 0x1f], 0
je 0x460768
test byte [esi + 8], 1
mov edx, str.no_such_index:__S
je 0x46076d
mov edx, 0x4b0850
mov ecx, ebx
call fcn.0045c305
mov esi, dword [esp + 0xc]
mov dword [esp + 0x58], 1
mov eax, dword [esi]
mov ecx, eax
mov dword [esp + 0x2c], eax
mov edx, eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x4c], eax
test eax, eax
jle 0x4607bb
mov eax, dword [esp + 0x98]
add eax, 0xc
cmp dword [eax], edx
jl 0x4607ad
inc ecx
inc edx
add eax, 0x18
sub dword [esp + 0x4c], 1
jne 0x4607a7
mov dword [esp + 0x40], ecx
mov edx, ecx
mov ecx, ebx
call fcn.004499d3
mov ecx, ebx
mov dword [esp + 0x28], eax
call fcn.00447990
push 0
push 0
push dword [esp + 0x30]
mov edx, esi
mov ecx, ebx
call fcn.004488d6
mov ecx, dword [esp + 0xa8]
xor eax, eax
add esp, 0xc
mov dword [esp + 0x4c], eax
test ecx, ecx
jle 0x46083f
mov edi, dword [esp + 0x2c]
xor esi, esi
mov edx, dword [esp + 0x98]
cmp dword [edx + esi + 0xc], edi
jl 0x46082f
mov eax, dword [esp + 0x28]
mov ecx, ebx
add eax, edi
push eax
push dword [edx + esi + 4]
push dword [edx + esi + 8]
mov edx, dword [edx + esi]
call fcn.0044795e
mov ecx, dword [esp + 0xa8]
add esp, 0xc
mov eax, dword [esp + 0x4c]
inc edi
inc eax
add esi, 0x18
mov dword [esp + 0x4c], eax
cmp eax, ecx
jl 0x4607fa
mov edi, dword [esp + 0x14]
mov ecx, ebx
call fcn.00449971
mov esi, eax
mov ecx, edi
push esi
push dword [esp + 0x44]
push dword [esp + 0x30]
push 0x65
pop edx
call fcn.0043669d
add esp, 0xc
mov edx, 0x80
mov ecx, edi
push esi
push dword [esp + 0x84]
call fcn.00436721
mov edx, esi
mov ecx, ebx
call fcn.00449990
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0x30]
push esi
call fcn.00449a09
mov ecx, dword [esp + 0x74]
add esp, 0xc
call fcn.0046d4de
mov edx, dword [ebx + 0x28]
mov ecx, ebx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x84], edx
lea eax, [edx + 1]
mov dword [ebx + 0x28], eax
call fcn.00449971
push esi
push eax
push edx
push 0x71
pop edx
mov ecx, edi
mov dword [esp + 0x38], eax
call fcn.0043669d
add esp, 0xc
mov ecx, edi
push dword [esp + 0x30]
push dword [esp + 0x84]
push 0x23
pop edx
call fcn.00436721
pop ecx
pop ecx
mov ecx, ebx
mov byte [esp + 0x7d], 1
call fcn.00447990
mov edx, dword [esp + 0x68]
xor esi, esi
inc esi
cmp dword [esp + 0x44], 0
je 0x460924
mov eax, dword [esp + 0x3c]
test byte [eax + 0x44], 4
jne 0x460924
test esi, esi
jne 0x46090e
mov ecx, edx
call fcn.0046c316
test eax, eax
je 0x460924
mov edx, dword [esp + 0xc0]
mov ecx, edi
and dword [esp + 0xac], 0
call fcn.00436d93
mov ecx, edi
call fcn.00436b11
mov ecx, ebx
mov dword [esp + 0x40], eax
call fcn.00447990
test esi, esi
je 0x460956
push dword [esp + 0x4c]
mov ecx, edi
push dword [esp + 0x30]
push dword [esp + 0x88]
push 0x7b
pop edx
call fcn.0043669d
add esp, 0xc
mov esi, dword [esp + 0xc]
xor ecx, ecx
mov dword [esp + 0x2c], ecx
cmp dword [esi], ecx
jle 0x4609b7
lea edx, [esi + 4]
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x48]
add eax, ecx
cmp dword [esp + 0x58], 0
push eax
je 0x46098d
push ecx
push dword [esp + 0x54]
mov ecx, edi
push 0x62
pop edx
call fcn.0043669d
add esp, 0xc
jmp 0x46099f
mov byte [esp + 0x80], 1
mov ecx, ebx
mov edx, dword [edx]
call fcn.004487e4
pop ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x44]
inc ecx
add edx, 0x18
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x44], edx
cmp ecx, dword [esi]
jl 0x46096b
mov ecx, dword [esp + 0x74]
push 0xfffffffffffffff7
call fcn.0045c252
push eax
push dword [esi]
mov ecx, edi
push dword [esp + 0x54]
push dword [esp + 0x74]
push 0x54
pop edx
call fcn.004367ed
add esp, 0x14
mov ecx, edi
call fcn.00436b11
mov esi, eax
lea eax, [esi + 1]
push eax
push 0
push eax
push 0x12
pop edx
call fcn.0043669d
mov eax, dword [esp + 0x18]
add esp, 0xc
mov edx, dword [esp + 0x48]
mov ecx, ebx
push dword [eax]
push dword [esp + 0x68]
call fcn.004479da
push dword [esp + 0x68]
mov eax, dword [esp + 0x24]
mov ecx, edi
inc eax
push eax
push 0xe
pop edx
call fcn.00436721
push dword [esp + 0x40]
mov ecx, edi
push dword [esp + 0x2c]
push 0x30
pop edx
call fcn.00436721
push dword [esp + 0x68]
mov ecx, edi
push dword [esp + 0x3c]
push 0xe
pop edx
call fcn.00436721
mov edx, esi
mov ecx, edi
call fcn.00436c48
lea edx, [esp + 0x9c]
mov ecx, ebx
call fcn.0045f870
push dword [esp + 0x74]
mov ecx, edi
push 1
push 0x43
pop edx
call fcn.00436721
add esp, 0x28
cmp dword [esp + 0x58], 0
je 0x460a8c
push dword [esp + 0x40]
mov ecx, edi
push dword [esp + 0x84]
push 3
pop edx
call fcn.00436721
pop ecx
pop ecx
jmp 0x460aa0
mov ecx, dword [esp + 0x68]
call fcn.0046d4de
mov edx, dword [esp + 0x70]
mov ecx, edi
call fcn.00436d93
mov esi, dword [esp + 0x18]
mov ecx, edi
push dword [esp + 0x60]
lea eax, [esi + 1]
push eax
push 0xe
pop edx
call fcn.00436721
mov edx, dword [esp + 0x38]
mov ecx, edi
call fcn.00436736
mov ecx, edi
call fcn.00436b11
push esi
mov esi, dword [esp + 0x20]
mov edi, eax
push 1
push 0x43
pop edx
mov ecx, esi
call fcn.00436721
mov eax, dword [esp + 0x28]
mov ecx, esi
inc eax
push eax
push 0x3f
pop edx
call fcn.0043670d
mov edx, dword [esp + 0x74]
add esp, 0x14
mov ecx, esi
call fcn.004369af
call fcn.00436b11
mov esi, eax
lea eax, [esi + 2]
push eax
push dword [esp + 0x58]
push 0x30
pop edx
call fcn.00436721
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
inc eax
push eax
push 0x3f
pop edx
call fcn.0043670d
add esp, 0xc
lea edx, [esp + 0x7c]
mov ecx, ebx
call fcn.0045f817
push 0x10
inc esi
push esi
push dword [esp + 0x3c]
push ebx
call fcn.00448db9
mov eax, dword [esp + 0x34]
mov ecx, ebx
push edi
push esi
mov esi, dword [esp + 0x74]
mov edx, esi
push eax
lea eax, [esp + 0x108]
push eax
lea eax, [esp + 0xcc]
push eax
or eax, 0xffffffff
push eax
call fcn.0045ba8c
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
inc eax
push eax
push 0x3f
pop edx
mov ecx, edi
call fcn.0043670d
mov edx, dword [esp + 0x7c]
add esp, 0x2c
mov ecx, edi
call fcn.004369af
lea edx, [esp + 0x7c]
mov ecx, ebx
call fcn.0045f77f
push dword [esp + 0x20]
mov ecx, edi
push 0x3f
pop edx
call fcn.0043670d
pop ecx
jmp 0x460d95
lea edx, [esp + 0x7c]
mov ecx, esi
call fcn.0045ea71
mov dword [esp + 0x54], eax
test eax, eax
je 0x460ce3
mov ecx, dword [ebx]
mov edi, eax
mov edx, dword [edi + 0x48]
call fcn.0045aa08
mov ecx, eax
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x20], eax
mov edx, ecx
inc eax
mov dword [esp + 0x2c], ecx
mov dword [ebx + 0x28], eax
mov ecx, ebx
xor eax, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x48], eax
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x44], eax
call fcn.0044fdf8
push dword [edi]
mov edx, dword [esp + 0x30]
mov ecx, ebx
push 0
push dword [edi + 0x1c]
call fcn.0044be22
add esp, 0xc
test byte [edi + 0x24], 0x20
je 0x460c1f
mov ecx, edi
call fcn.0044c8a3
mov ecx, eax
mov dword [esp + 0x48], ecx
jmp 0x460c23
mov ecx, dword [esp + 0x48]
mov eax, dword [edi + 8]
test eax, eax
je 0x460c57
test byte [eax + 0x38], 4
jne 0x460c4c
movzx edx, word [eax + 0x30]
cmp dx, word [edi + 0x2e]
jge 0x460c4c
cmp dword [eax + 0x24], 0
jne 0x460c4c
test ecx, ecx
je 0x460c4a
cmp dx, word [ecx + 0x30]
jge 0x460c4c
mov ecx, eax
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x460c2a
mov dword [esp + 0x48], ecx
test ecx, ecx
je 0x460c6f
mov eax, dword [ecx + 0x2c]
mov edx, ecx
mov ecx, ebx
mov dword [esp + 0x44], eax
call fcn.004502a5
mov dword [esp + 0x50], eax
mov edi, dword [esp + 0x14]
mov ecx, edi
push 1
push dword [esp + 0x30]
push dword [esp + 0x4c]
push dword [esp + 0x2c]
push 0x6a
pop edx
call fcn.0043691e
mov eax, dword [esp + 0x60]
add esp, 0x10
test eax, eax
je 0x460ca7
push 0xfffffffffffffff7
push eax
or eax, 0xffffffff
mov ecx, edi
mov edx, eax
call fcn.00436e52
pop ecx
pop ecx
mov eax, dword [esp + 0xa4]
mov ecx, edi
push dword [eax + 8]
push dword [esp + 0x24]
push 0x66
pop edx
call fcn.00436721
push dword [esp + 0x28]
mov ecx, edi
push 0x72
pop edx
call fcn.0043670d
mov eax, dword [esp + 0x54]
add esp, 0xc
mov edx, dword [esp + 0x54]
mov ecx, ebx
push eax
call fcn.0045fa64
pop ecx
jmp 0x460d5e
lea edx, [esp + 0x7c]
mov ecx, ebx
call fcn.0045f77f
mov al, byte [esp + 0x3b]
mov edx, edi
push 0
movzx eax, al
mov ecx, ebx
push eax
push 0
push dword [esp + 0x78]
push dword [esp + 0x50]
call fcn.0046cbc7
mov edi, eax
add esp, 0x14
mov dword [esp + 0x70], edi
test edi, edi
je 0x460e11
lea edx, [esp + 0x7c]
mov ecx, ebx
call fcn.0045f870
mov ecx, edi
call fcn.00468c4c
test eax, eax
jle 0x460d46
call fcn.00468c5a
mov edi, dword [esp + 0x14]
mov edx, eax
mov ecx, edi
call fcn.00436736
jmp 0x460d4a
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x70]
call fcn.0046d4de
lea edx, [esp + 0x7c]
mov ecx, ebx
call fcn.0045f817
and dword [esp + 0xac], 0
push 0x10
push dword [esp + 0x34]
push dword [esp + 0x3c]
push ebx
call fcn.00448db9
mov eax, dword [esp + 0x40]
mov edx, esi
push eax
push eax
mov eax, dword [esp + 0x3c]
mov ecx, ebx
push eax
push 0
or eax, 0xffffffff
push 0
push eax
call fcn.0045ba8c
add esp, 0x28
mov edx, dword [esp + 0x30]
mov ecx, edi
call fcn.004369af
cmp byte [esp + 0xed], 3
jne 0x460db6
mov edx, str.no_such_index:__S
mov ecx, ebx
call fcn.0045c305
cmp dword [esp + 0xac], 0
je 0x460dfa
cmp dword [esp + 0xb0], 0
mov eax, 0x4b050c
mov edx, 0x4b085c
mov ecx, ebx
cmovle edx, eax
call fcn.0045c305
mov eax, dword [esp + 0x10]
mov edx, esi
push dword [esp + 0x24]
mov ecx, ebx
push dword [eax]
lea eax, [esp + 0xb4]
push eax
call fcn.0045c319
add esp, 0xc
mov edx, dword [esp + 0x78]
mov ecx, edi
call fcn.004369af
xor eax, eax
cmp dword [ebx + 0x24], eax
setg al
mov dword [esp + 0x58], eax
mov esi, dword [esp + 0x3c]
mov ecx, esi
mov edx, dword [esp + 0x6c]
call fcn.0044611f
mov edx, dword [esp + 0x98]
mov ecx, esi
call fcn.0041e862
mov edx, dword [esp + 0xa4]
mov ecx, esi
call fcn.0041e862
mov ecx, ebx
call fcn.004368d2
mov eax, dword [esp + 0x58]
jmp 0x460e4c
xor eax, eax
inc eax
mov ecx, dword [esp + 0x104]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00476874
mov esp, ebp
pop ebp
ret