Function at 0x468d10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 8]
push esi
xor edx, edx
push edi
mov edi, dword [ebx + 8]
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x1c], edx
cmp edi, edx
je 0x4697f2
mov esi, dword [ebp + 0xc]
lea eax, [edx + 0x65]
cmp esi, edx
je 0x468d53
movzx eax, byte [esi]
lea ecx, [eax - 0x13]
mov dword [esp + 0xc], eax
cmp ecx, 0x8f
ja case.0x468d6d.21
movzx ecx, byte [ecx + 0x469b24]
jmp dword [ecx*4 + 0x469ab4]
movsx ecx, word [esi + 0x22]
mov eax, dword [esi + 0x28]
cmp byte [eax], 0
lea edx, [ecx + ecx*2]
mov ecx, dword [eax + 0x1c]
lea ecx, [ecx + edx*8]
jne 0x468d93
mov eax, dword [ecx + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [eax + 1], 0
je 0x468db9
mov esi, dword [ebp + 0x10]
mov edx, dword [ecx + 0xc]
mov eax, dword [eax + 8]
push esi
push edx
push eax
push 0x60
push edi
call fcn.00451be0
add esp, 0x14
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor edx, edx
mov eax, dword [esi + 0x1c]
cmp eax, edx
jge 0x468dd9
mov ecx, dword [ebx + 0x38]
cmp ecx, edx
jge 0x468dd6
movsx eax, word [esi + 0x20]
sub eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ecx - 1]
mov ecx, esi
movzx edx, byte [ecx + 0x26]
push edx
mov edx, dword [ebp + 0x10]
push edx
push eax
movsx eax, word [ecx + 0x20]
mov ecx, dword [ecx + 0x2c]
push eax
push ecx
mov esi, ebx
call fcn.00468ad0
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0x10]
push edi
push ebx
xor ecx, ecx
mov eax, esi
call fcn.00468700
add esp, 8
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 0x10]
mov edx, dword [esi + 8]
push ebx
push 0
push edi
call fcn.00468690
add esp, 0xc
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0x10]
mov edx, esi
mov ebx, dword [edx + 8]
mov esi, dword [esp + 0x30]
mov eax, edi
call fcn.00451c50
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x10]
push 0
push esi
push 0
push 0x3b
push edi
call fcn.00451be0
add esp, 0x14
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, esi
mov edi, dword [eax + 8]
add edi, 2
mov eax, edi
call fcn.00436830
mov ebx, dword [esp + 0x30]
mov esi, eax
mov eax, dword [ebx]
dec esi
push esi
push eax
call fcn.004378d0
push 0xfffffffffffffff9
push eax
mov eax, esi
mov esi, dword [ebp + 0x10]
cdq
sub eax, edx
mov edx, eax
sar edx, 1
push 0x3d
xor eax, eax
mov ecx, esi
mov edi, ebx
call fcn.00451de0
add esp, 0x14
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x10]
movsx edx, word [esi + 0x20]
push 0
push ecx
push edx
push 0x3e
push edi
call fcn.00451be0
mov eax, dword [esi + 8]
add esp, 0x14
cmp byte [eax + 1], 0
je 0x468ef5
mov ebx, dword [ebx + 0x1a4]
mov ecx, esi
movsx esi, word [ecx + 0x20]
mov ecx, ebx
call fcn.00437d90
or edx, 0xffffffff
mov ecx, edi
mov dword [ebx], 0
call fcn.004527a0
mov eax, dword [ebp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x10]
mov eax, dword [esi + 0xc]
push edx
push eax
push ebx
call fcn.00468d10
mov esi, eax
add esp, 0xc
cmp esi, dword [ebp + 0x10]
je 0x468f36
mov ecx, dword [ebp + 0x10]
push 0
push ecx
push esi
push 0x41
push edi
call fcn.00451be0
mov esi, dword [ebp + 0x10]
add esp, 0x14
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + 8]
xor edi, edi
call fcn.0046fc80
mov ecx, dword [esp + 0x30]
movsx eax, al
push edi
push eax
mov eax, dword [ebp + 0x10]
push eax
push 0x49
push ecx
call fcn.00451be0
add esp, 0x14
push 1
push esi
call fcn.00468990
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor edx, edx
cmp eax, 0x48
sete dl
mov dword [esp + 0x1c], 0x80
add edx, 0x4d
mov dword [esp + 0xc], edx
mov edi, dword [esi + 0xc]
mov ecx, edi
call fcn.004644c0
test eax, eax
je 0x468fb7
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
mov edx, dword [ebp + 0x10]
push eax
push ecx
push edx
mov ecx, esi
call fcn.00464640
mov eax, dword [esp + 0x40]
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x18]
push eax
mov eax, edi
mov ecx, ebx
call fcn.00469c80
lea ecx, [esp + 0x2c]
add esp, 4
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x10]
push ecx
mov ecx, ebx
call fcn.00469c80
mov ecx, dword [esp + 0x20]
mov edx, dword [ebp + 0x10]
add esp, 4
or ecx, 0x20
push ecx
mov ecx, dword [esp + 0x10]
push edx
push eax
mov eax, dword [esp + 0x20]
push eax
mov eax, dword [esi + 0x10]
push ecx
push ebx
mov ecx, edi
call fcn.00464390
add esp, 0x18
jmp 0x469045
mov eax, dword [esi + 0xc]
lea edx, [esp + 0x18]
push edx
mov ecx, ebx
call fcn.00469c80
mov dword [esp + 0x18], eax
lea eax, [esp + 0x2c]
add esp, 4
push eax
mov eax, dword [esi + 0x10]
mov ecx, ebx
call fcn.00469c80
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x18]
add esp, 4
push ecx
push edx
push eax
mov eax, dword [esp + 0x18]
push eax
push edi
call fcn.00451be0
add esp, 0x14
mov esi, dword [esp + 0x18]
test esi, esi
je 0x469084
mov dl, byte [ebx + 0x13]
cmp dl, 8
jae 0x469084
xor eax, eax
lea ecx, [ebx + 0x94]
cmp byte [ebx + 0x19], al
jbe 0x469077
cmp dword [ecx + 0xc], esi
je 0x469a9b
movzx edi, byte [ebx + 0x19]
inc eax
add ecx, 0x14
cmp eax, edi
jl 0x469062
movzx edx, dl
mov dword [ebx + edx*4 + 0x15c], esi
inc byte [ebx + 0x13]
mov esi, dword [esp + 0x28]
test esi, esi
je 0x4690c3
mov dl, byte [ebx + 0x13]
cmp dl, 8
jae 0x4690c3
xor eax, eax
lea ecx, [ebx + 0x94]
cmp byte [ebx + 0x19], al
jbe 0x4690b6
cmp dword [ecx + 0xc], esi
je 0x469aa4
movzx edi, byte [ebx + 0x19]
inc eax
add ecx, 0x14
cmp eax, edi
jl 0x4690a1
movzx eax, dl
mov dword [ebx + eax*4 + 0x15c], esi
inc byte [ebx + 0x13]
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0xc]
mov cl, byte [eax]
cmp cl, 0x86
jne 0x4690f3
mov esi, dword [ebp + 0x10]
push esi
push ebx
mov ecx, 1
call fcn.00468700
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp cl, 0x84
jne 0x469113
mov esi, dword [ebp + 0x10]
mov edx, dword [eax + 8]
push esi
push 1
push edi
call fcn.00468690
add esp, 0xc
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x18]
push ecx
lea eax, [esp + 0x3c]
mov ecx, ebx
mov byte [esp + 0x3c], 0x86
mov dword [esp + 0x40], 0x4400
mov dword [esp + 0x44], edx
call fcn.00469c80
lea edx, [esp + 0x2c]
add esp, 4
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0xc]
push edx
mov ecx, ebx
call fcn.00469c80
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x18]
add esp, 4
push ecx
push edx
push eax
push 0x59
jmp 0x46903c
lea eax, [esp + 0x18]
push eax
mov eax, dword [esi + 0xc]
mov ecx, ebx
call fcn.00469c80
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x10]
add esp, 4
push 0
push ecx
push eax
push edx
jmp 0x46903c
mov eax, dword [ebp + 0x10]
push 0
push eax
push 1
push 0x38
push edi
call fcn.00451be0
mov eax, dword [esi + 0xc]
lea ecx, [esp + 0x2c]
add esp, 0x14
push ecx
mov ecx, ebx
call fcn.00469c80
mov edx, dword [esp + 0x10]
add esp, 4
push 0
push 0
push eax
push edx
push edi
call fcn.00451be0
add esp, 0x14
push 0
mov esi, eax
mov eax, dword [ebp + 0x10]
push eax
push 0
push 0x38
push edi
call fcn.00451be0
add esp, 0x14
mov eax, esi
mov edx, edi
call fcn.00452310
jmp 0x469045
mov eax, dword [esi + 0x28]
cmp eax, edx
jne 0x469203
mov ecx, esi
mov edx, dword [ecx + 8]
push edx
push str.misuse_of_aggregate:__s__
mov esi, ebx
call fcn.004369c0
mov eax, dword [esp + 0x3c]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movsx ecx, word [esi + 0x22]
mov edx, dword [eax + 0x28]
shl ecx, 4
mov eax, dword [ecx + edx + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx]
mov dword [esp + 0x28], eax
mov al, byte [eax + 0x42]
mov dword [esp + 0x1c], edx
mov byte [esp + 0x10], al
mov dword [esp + 0x18], edx
cmp byte [ebx + 0x17], dl
je 0x469255
mov eax, esi
call fcn.004661a0
test eax, eax
je 0x469253
mov ecx, esi
push 0xffffffffffffffff
push ecx
mov edi, ebx
call fcn.00469bc0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor edx, edx
test dword [esi + 4], 0x4000
je 0x469264
mov dword [esp + 0x2c], edx
jmp 0x469271
mov eax, dword [esi + 0x14]
mov dword [esp + 0x2c], eax
cmp eax, edx
je 0x469271
mov edx, dword [eax]
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 8]
push 0
push ecx
push edx
push eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x38]
push eax
mov dword [esp + 0x34], edx
call fcn.00474d20
add esp, 0x14
mov dword [esp + 0xc], eax
test eax, eax
je 0x46959c
cmp dword [eax + 0x10], 0
jne 0x46959c
movzx eax, word [eax + 2]
test eax, 0x200
je 0x469356
mov eax, edi
call fcn.00451f90
mov ecx, dword [ebp + 0x10]
mov esi, dword [esp + 0x2c]
mov edx, dword [esi + 8]
push ecx
push edx
push ebx
mov dword [esp + 0x30], eax
call fcn.00469d30
mov eax, dword [esp + 0x2c]
add esp, 0xc
cmp eax, 1
jle 0x46933e
dec eax
lea edi, [esi + 0x20]
mov dword [esp + 0x10], eax
jmp 0x4692f3
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0x24]
mov esi, dword [ebp + 0x10]
mov ecx, dword [esp + 0x30]
push 0
push eax
push esi
push 0x4c
push ecx
call fcn.00451be0
add esp, 0x14
push 1
push esi
call fcn.00468990
mov esi, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov ebx, 1
add dword [esi + 0x3c], ebx
mov eax, dword [edi]
push edx
push eax
push esi
call fcn.00469d30
add esp, 0x14
call fcn.004689e0
add edi, 0x18
sub dword [esp + 0x10], ebx
jne 0x4692f0
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
call fcn.00451fe0
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test eax, 0x400
je 0x469379
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 8]
push ecx
push eax
push ebx
call fcn.00468d10
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x24], 0
mov dword [esp + 0x10], 1
test ecx, ecx
jle 0x469406
mov edx, dword [esp + 0x2c]
add edx, 8
mov dword [esp + 0x14], edx
lea esp, [esp]
cmp dword [esp + 0x24], 0x20
jge 0x4693c2
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
call fcn.00466150
test eax, eax
je 0x4693be
mov ecx, dword [esp + 0x10]
or dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0xc]
test byte [edx + 2], 0x20
je 0x4693ea
cmp dword [esp + 0x18], 0
jne 0x4693ea
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push ebx
call fcn.00464180
mov ecx, dword [esp + 0x24]
add esp, 4
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
add dword [esp + 0x14], 0x18
inc eax
rol edx, 1
cmp eax, ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], edx
jl 0x4693a0
cmp dword [esp + 0x2c], 0
je 0x469479
cmp dword [esp + 0x1c], 0
je 0x469421
mov edx, dword [ebx + 0x2c]
lea eax, [edx + 1]
add edx, ecx
mov dword [ebx + 0x2c], edx
jmp 0x46942a
mov esi, ecx
mov ecx, ebx
call fcn.0046afa0
mov edx, dword [esp + 0xc]
test byte [edx + 2], 0xc0
mov dword [esp + 0x14], eax
je 0x469454
mov ecx, dword [esp + 0x2c]
mov esi, dword [ecx + 8]
mov cl, byte [esi]
cmp cl, 0x98
je 0x46944b
cmp cl, 0x9a
jne 0x469454
mov dl, byte [edx + 2]
and dl, 0xc0
mov byte [esi + 0x26], dl
inc dword [ebx + 0x3c]
push 3
push 0
push eax
mov eax, dword [esp + 0x38]
push ebx
call fcn.00469df0
add esp, 0x10
mov esi, ebx
call fcn.004689e0
mov ecx, dword [esp + 0x20]
mov esi, dword [ebp + 0xc]
jmp 0x469481
mov dword [esp + 0x14], 0
cmp ecx, 2
jl 0x46949b
test byte [esi + 4], 0x80
je 0x46949b
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x2c]
push ecx
push eax
mov eax, dword [edx + 0x20]
jmp 0x4694ac
test ecx, ecx
jle 0x4694bd
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x2c]
push ecx
push eax
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x30]
push ecx
call fcn.004926b0
mov dword [esp + 0x18], eax
add esp, 0xc
mov eax, dword [esp + 0xc]
test byte [eax + 2], 0x20
je 0x469543
cmp dword [esp + 0x18], 0
jne 0x4694d9
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 8]
mov dword [esp + 0x18], edx
push 0
push 0
push 0
push 0x44
push edi
call fcn.00451be0
mov ecx, dword [edi]
add esp, 0x14
cmp byte [ecx + 0x45], 0
je 0x469502
mov eax, dword [esp + 0x18]
mov edx, 0xfffffffe
call fcn.004524d0
jmp 0x469543
test eax, eax
jge 0x46950d
mov eax, dword [edi + 0x88]
dec eax
mov ecx, dword [edi + 0x58]
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4 + 1], 0
lea eax, [ecx + eax*4]
je 0x469534
mov edx, dword [esp + 0x18]
push edx
push eax
mov eax, 0xfffffffe
mov ecx, edi
call fcn.00452630
add esp, 8
jmp 0x469543
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x469543
mov dword [eax + 0x10], ecx
mov byte [eax + 1], 0xfe
mov ecx, dword [ebx + 0x38]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x1c]
neg ecx
sbb ecx, ecx
push 0xfffffffffffffff8
push eax
mov eax, dword [ebp + 0x10]
add ecx, 0xa2
push ecx
mov ecx, dword [esp + 0x20]
call fcn.00451de0
movzx dx, byte [esp + 0x2c]
add esp, 0xc
mov ecx, edi
call fcn.004522f0
mov edi, dword [esp + 0x20]
test edi, edi
je 0x469592
cmp dword [esp + 0x1c], 0
jne 0x469592
mov eax, dword [esp + 0x14]
mov ecx, ebx
call fcn.0046aff0
mov eax, dword [ebp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x24]
push edx
push str.unknown_function:__s__
mov esi, ebx
call fcn.004369c0
mov eax, dword [esp + 0x3c]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x77
jne 0x4695e9
mov eax, dword [esi + 0x14]
mov ecx, dword [eax]
mov eax, dword [ecx]
cmp eax, 1
je 0x4695e9
push 1
push eax
push str.sub_select_returns__d_columns___expected__d
mov esi, ebx
call fcn.004369c0
mov eax, dword [esp + 0x40]
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push 0
push esi
push ebx
call fcn.00466fc0
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x1c], edx
jne 0x46961c
push 0
push 0
push eax
push ebx
call fcn.00466fc0
mov edx, dword [esi + 0xc]
add esp, 0x10
mov dword [edx + 0x1c], eax
xor edx, edx
mov edi, dword [esi + 0x1c]
cmp edi, edx
je 0x469643
mov ecx, dword [esi + 0xc]
call fcn.00464510
cmp edi, eax
je 0x469643
push eax
push edi
push str._d_columns_assigned__d_values
mov esi, ebx
call fcn.004369c0
mov esi, dword [ebp + 0xc]
add esp, 0xc
movsx eax, word [esi + 0x20]
mov ecx, dword [esi + 0xc]
add eax, dword [ecx + 0x1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, edi
call fcn.00451f90
mov dword [esp + 0x34], eax
mov eax, edi
call fcn.00451f90
mov edx, dword [ebp + 0x10]
push 0
push edx
push 0
push 0x3b
push edi
mov dword [esp + 0x24], eax
call fcn.00451be0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x48]
add esp, 0x14
push eax
push ecx
push esi
push ebx
call fcn.004676c0
mov esi, dword [ebp + 0x10]
push 0
push esi
push 1
push 0x38
push edi
call fcn.00451be0
mov edx, dword [esp + 0x58]
add esp, 0x24
mov ecx, edi
call fcn.00451fe0
push 0
push 0
push esi
push 0x45
push edi
call fcn.00451be0
mov edx, dword [esp + 0x24]
add esp, 0x14
mov ecx, edi
call fcn.00451fe0
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x10]
push 0
push 0
push edx
push ebx
mov ebx, esi
call fcn.00469f60
mov eax, dword [ebp + 0x10]
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [esi + 0xc]
push eax
push ecx
push ebx
call fcn.00468d10
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [esi + 0x2c]
movsx eax, word [ebx + 0x2a]
movsx ecx, word [esi + 0x20]
mov edx, dword [ebp + 0x10]
inc eax
imul eax, dword [esi + 0x1c]
push 0
push edx
lea edx, [eax + ecx + 1]
push edx
push 0x90
push edi
call fcn.00451be0
movzx eax, word [esi + 0x20]
add esp, 0x14
test ax, ax
jl 0x4690c3
mov ecx, dword [ebx + 4]
cwde
shl eax, 4
cmp byte [eax + ecx + 0xd], 0x45
jne 0x4690c3
mov edx, dword [ebp + 0x10]
push 0
push 0
push edx
push 0x48
push edi
call fcn.00451be0
mov eax, dword [esp + 0x48]
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.row_value_misused
mov esi, ebx
call fcn.004369c0
mov eax, dword [esp + 0x38]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x1c]
push 0
push 0
push eax
push 0x17
push edi
call fcn.00451be0
inc dword [ebx + 0x3c]
mov ecx, dword [esi + 0xc]
add esp, 0x14
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x10]
push eax
push ecx
push ebx
call fcn.00468d10
add esp, 0xc
mov esi, ebx
mov dword [esp + 0x34], eax
call fcn.004689e0
mov esi, dword [esp + 0x10]
mov eax, esi
mov edx, edi
call fcn.00452310
mov edx, dword [esp + 0x34]
mov eax, esi
mov ecx, edi
call fcn.004522c0
mov eax, edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x7c], edx
jne 0x4697fb
push str.RAISE___may_only_be_used_within_a_trigger_program
mov esi, ebx
call fcn.004369c0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [esi + 1], 2
jne 0x469808
mov ecx, ebx
call fcn.00473ef0
mov al, byte [esi + 1]
push 0
cmp al, 4
jne 0x46986c
mov esi, dword [esi + 8]
push 4
push 0
push 0x37
push edi
call fcn.00451be0
mov ecx, dword [edi]
add esp, 0x14
cmp byte [ecx + 0x45], 0
je 0x46983f
mov eax, esi
xor edx, edx
call fcn.004524d0
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test eax, eax
jge 0x46984a
mov eax, dword [edi + 0x88]
dec eax
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x58]
lea ecx, [eax + edx*4]
push esi
push ecx
xor eax, eax
mov ecx, edi
call fcn.00452630
mov eax, dword [esp + 0x3c]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
mov edx, esi
mov ecx, dword [edx + 8]
push 0
push ecx
movsx ebx, al
push 0x713
call fcn.00473f10
mov eax, dword [esp + 0x44]
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x14]
mov dword [esp + 0x24], edx
mov edx, dword [eax]
mov dword [esp + 0x14], eax
mov eax, edi
mov dword [esp + 0x2c], edx
call fcn.00451f90
mov esi, dword [esi + 0xc]
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], esi
test esi, esi
je 0x46991a
lea eax, [esp + 0x38]
mov ecx, 0xc
lea edi, [esp + 0x38]
rep movsd dword es:[edi], dword [esi]
push eax
lea eax, [esp + 0x1c]
mov ecx, ebx
call fcn.00468c00
mov cl, byte [esp + 0x3c]
and dword [esp + 0x40], 0xffffefff
add esp, 4
push 0x30
lea edx, [esp + 0x6c]
push 0
push edx
mov byte [esp + 0x6a], cl
mov byte [esp + 0x44], 0x9d
mov dword [esp + 0x60], eax
call fcn.00591690
mov edi, dword [esp + 0x3c]
lea eax, [esp + 0x44]
lea ecx, [esp + 0x74]
add esp, 0xc
mov byte [esp + 0x68], 0x4e
mov dword [esp + 0x74], eax
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x2c]
lea ecx, [eax - 1]
test ecx, ecx
jle 0x469a31
mov eax, dword [esp + 0x14]
add eax, 8
mov dword [esp + 0x1c], eax
lea eax, [ecx - 1]
shr eax, 1
inc eax
mov dword [esp + 0xc], eax
mov edi, edi
inc dword [ebx + 0x3c]
cmp dword [esp + 0x28], 0
je 0x469956
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov dword [esp + 0x78], eax
jmp 0x469960
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov dword [esp + 0x24], edx
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x44]
lea edx, [ecx + 1]
mov dword [eax + 0x44], edx
lea edx, [ecx - 1]
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], ecx
test ecx, edx
jne 0x4699a9
mov eax, ecx
lea ecx, [eax*8 + 4]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x48]
mov esi, dword [eax]
push 0
push ecx
call fcn.00434360
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x38]
mov dword [edx + 0x48], eax
add esp, 8
mov eax, edx
mov eax, dword [eax + 0x48]
test eax, eax
je 0x4699b7
mov dword [eax + ecx*4], 0xffffffff
or eax, 0xffffffff
sub eax, ecx
push 0x10
push eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
push eax
push ebx
call fcn.0046a390
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 0x18]
push ecx
push eax
push ebx
call fcn.00469d30
mov ecx, dword [esp + 0x3c]
add esp, 0x1c
push 0
push ecx
push 0
push 0xd
push edi
call fcn.00451be0
add esp, 0x14
mov esi, ebx
call fcn.004689e0
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x48]
test eax, eax
je 0x469a1d
mov edx, dword [esp + 0x10]
lea ecx, [edx*4 + 4]
mov edx, dword [edi + 0x88]
sub eax, ecx
mov dword [eax], edx
add dword [esp + 0x1c], 0x30
sub dword [esp + 0xc], 1
jne 0x469940
mov eax, dword [esp + 0x2c]
test al, 1
je 0x469a5a
mov ecx, dword [ebp + 0x10]
inc dword [ebx + 0x3c]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [eax + edx*8 - 0x10]
push ecx
push ebx
call fcn.00469d30
add esp, 0xc
mov esi, ebx
call fcn.004689e0
jmp 0x469a6d
mov edx, dword [ebp + 0x10]
push 0
push edx
push 0
push 0x3b
push edi
call fcn.00451be0
add esp, 0x14
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x48]
test eax, eax
je 0x4690c3
mov ecx, dword [esp + 0x20]
lea edx, [ecx*4 + 4]
mov ecx, dword [edi + 0x88]
sub eax, edx
mov dword [eax], ecx
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [ecx + 6], 1
jmp 0x469084
mov eax, dword [esp + 0x34]
pop edi
pop esi
mov byte [ecx + 6], 1
pop ebx
mov esp, ebp
pop ebp
ret