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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
xor ecx, ecx
or eax, 0xffffffff
push ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 8]
push esi
push edi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x68], ecx
cmp dword [eax + 0x18], ecx
jne 0x45b795
cmp dword [0x4f019c], ecx
je 0x45a618
cmp dword [0x4f01a8], ecx
jg 0x45b795
mov edx, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x5c], eax
cmp dword [edx + 8], ecx
je 0x45b795
mov ecx, dword [ebp + 8]
mov eax, edx
push eax
push ecx
call fcn.00455250
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
je 0x45b795
mov ebx, dword [esp + 0x5c]
mov edi, eax
mov esi, dword [edi + 0x3c]
mov ecx, ebx
call fcn.00424790
mov ecx, dword [edi]
mov edi, dword [ebp + 8]
mov dword [esp + 0x6c], eax
lea edx, [eax + eax*2]
mov eax, dword [ebx + 4]
lea eax, [eax + edx*8]
mov dword [esp + 0x34], eax
mov eax, dword [eax]
push eax
push 0
push ecx
push 0x12
call fcn.004551c0
add esp, 0x10
test eax, eax
jne 0x45b795
mov esi, dword [esp + 0x14]
push eax
push 0x64
mov eax, esi
call fcn.00444ce0
xor edx, edx
cmp dword [esi + 0x18], edx
mov dword [esp + 0x34], eax
setne dl
push eax
mov eax, esi
mov ecx, edi
mov dword [esp + 0x30], edx
call fcn.004552b0
add esp, 0xc
test eax, eax
jne 0x45b795
cmp dword [esp + 0x24], eax
je 0x45a6d2
mov eax, esi
push eax
mov ecx, edi
push ecx
call fcn.00437f70
add esp, 8
test eax, eax
jne 0x45b795
mov esi, edi
call fcn.0044eef0
mov ebx, eax
mov dword [esp + 0x58], ebx
test ebx, ebx
je 0x45b795
cmp byte [esi + 0x13], 0
jne 0x45a6f4
mov byte [ebx + 0x236], 1
mov edi, dword [ebp + 0x14]
test edi, edi
jne 0x45a705
cmp dword [esp + 0x2c], edi
jne 0x45a705
xor eax, eax
jmp 0x45a70a
mov eax, 1
push eax
mov eax, dword [esp + 0x70]
mov ecx, esi
call fcn.0043a320
add esp, 4
cmp dword [esp + 0x2c], 0
je 0x45a72b
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x48], eax
inc eax
mov dword [esi + 0x1c], eax
mov edx, dword [esp + 0x14]
cmp byte [edx + 0x20], 0
je 0x45a8fd
mov eax, dword [ebx + 0x10]
mov ecx, dword [esp + 0x34]
mov edi, dword [esi + 0x1c]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x20]
mov dword [esp + 0x68], eax
inc eax
mov dword [esp + 0x50], eax
inc eax
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x6c]
mov edx, dword [ecx + 0x14]
push 0x17
push eax
mov eax, dword [edx + 0x74]
push edi
mov ecx, esi
mov dword [esp + 0x1c], edi
call fcn.00455310
mov eax, dword [esp + 0x2c]
add eax, 0xd
add esp, 0xc
push eax
mov dword [esp + 0x68], eax
push edi
push 0x33
mov eax, ebx
call fcn.00432190
add esp, 0xc
push 0
push edi
push 0x62
mov eax, ebx
call fcn.00432190
mov ecx, dword [esp + 0x20]
mov esi, dword [ebx + 0x10]
mov edx, dword [ecx]
add esp, 0xc
lea ecx, [esi + 1]
mov dword [esp + 0x18], edx
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], esi
jg 0x45a7d0
mov edi, ebx
call fcn.004320e0
xor edi, edi
cmp dword [0x4f019c], edi
je 0x45a7d2
cmp dword [0x4f01a8], edi
jle 0x45a7d2
xor esi, esi
jmp 0x45a7f1
xor edi, edi
mov ecx, dword [ebx + 0x18]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x56
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
mov byte [ebx + 0x238], 0
mov ecx, dword [ebx + 0x18]
mov eax, esi
cmp ecx, edi
je 0x45a863
cmp dword [0x4f019c], edi
je 0x45a80a
cmp dword [0x4f01a8], edi
jg 0x45a863
cmp esi, edi
jl 0x45a813
cmp esi, dword [ebx + 0x10]
jl 0x45a819
mov eax, dword [ebx + 0x10]
dec eax
js 0x45a863
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 + 0x10]
lea esi, [ecx + edx*4]
mov ecx, dword [esi + 0xc]
call fcn.004324c0
mov eax, dword [esp + 0x18]
mov dword [esi + 0xc], edi
cmp eax, edi
jne 0x45a83e
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], edi
jmp 0x45a863
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45a841
mov ebx, dword [esp + 0x18]
sub eax, edx
mov edi, eax
call fcn.00425bd0
mov ebx, dword [esp + 0x58]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], 0xffffffff
mov edi, dword [esp + 0x20]
lea eax, [edi + 0xc]
push eax
push 0x100
push 0x42
mov eax, ebx
call fcn.00432190
mov esi, dword [esp + 0x1c]
add esp, 0xc
push 0
push esi
push 0x57
mov eax, ebx
call fcn.00432190
mov ecx, dword [esp + 0x74]
add esp, 0xc
push 1
push ecx
push 0x6c
mov eax, ebx
call fcn.00432190
add esp, 0xc
push 1
push esi
push 0x62
mov eax, ebx
call fcn.00432190
mov edx, dword [esp + 0x5c]
add esp, 0xc
push 1
push edx
push 0x6c
mov eax, ebx
call fcn.00432190
mov eax, dword [esp + 0x70]
add esp, 0xc
push eax
push 0
push 0x5c
mov eax, ebx
call fcn.00432190
add esp, 0xc
add edi, 4
push edi
push esi
push 0x6d
mov eax, ebx
call fcn.00432190
add esp, 0xc
push 0
push esi
push 0x67
mov eax, ebx
call fcn.00432190
mov edi, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
add esp, 0xc
xor eax, eax
cmp edi, eax
je 0x45aa70
push eax
push eax
push 0x5c
mov eax, ebx
call fcn.00432190
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x24], eax
add esp, 0xc
mov eax, ebx
mov dword [esp + 0x44], ecx
call fcn.00432230
push 0
push 0
push 0
push 0
push eax
push 9
push edi
push esi
mov dword [esp + 0x3c], eax
call fcn.00450e20
add esp, 0x20
test eax, eax
jne 0x45b795
cmp dword [esi + 0x18], eax
jne 0x45b795
call fcn.004269b0
test eax, eax
jne 0x45b795
mov eax, ebx
call fcn.00432230
push eax
mov dword [esp + 0x2c], eax
push 0
push 0x5c
mov eax, ebx
call fcn.00432190
mov edx, dword [edi]
mov eax, dword [edx]
add esp, 0xc
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x20], eax
jne 0x45a9a4
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x3c]
push ecx
push edx
push edi
call fcn.0045a540
add esp, 0xc
test eax, eax
je 0x45aa60
mov edi, dword [esi + 0x1c]
mov edx, dword [esp + 0x1c]
lea eax, [edi + 1]
mov ecx, ebx
mov dword [esp + 0x30], 1
mov dword [esp + 0x38], edi
mov dword [esi + 0x1c], eax
call fcn.00432280
mov esi, dword [esp + 0x20]
push 0
push esi
push 0x5a
mov eax, ebx
call fcn.00432190
add esp, 0xc
push 0
push edi
push 0x2d
mov eax, ebx
call fcn.00432190
add esp, 0xc
push 0
push 1
push 0x6a
mov eax, ebx
call fcn.00432190
add esp, 0xc
push 0
push edi
push 0x61
mov eax, ebx
call fcn.00432190
add esp, 0xc
push 0
push 0
push 0x30
mov eax, ebx
call fcn.00432190
mov eax, dword [esp + 0x24]
add esp, 0xc
mov ecx, ebx
call fcn.004324a0
push 0
push edi
push 0x21
mov eax, ebx
call fcn.00432190
add esp, 0xc
push esi
push edi
push 0x11
mov eax, ebx
call fcn.00432190
mov ecx, dword [esp + 0x50]
add esp, 0xc
push ecx
push 0
push 0x5c
mov eax, ebx
call fcn.00432190
mov edx, dword [esp + 0x34]
add esp, 0xc
mov ecx, ebx
call fcn.00432280
jmp 0x45ab02
mov eax, dword [esp + 0x18]
mov ecx, ebx
call fcn.004324a0
jmp 0x45ab02
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x74], esi
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10], eax
cmp ecx, eax
jle 0x45ab02
mov dword [esp + 0x18], eax
jmp 0x45aad0
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x18]
mov edi, dword [edx + ecx]
lea esi, [esp + 0x74]
call fcn.00453710
test eax, eax
jne 0x45b795
mov eax, dword [esp + 0x10]
add dword [esp + 0x18], 0xc
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x20]
jl 0x45aad0
mov ecx, dword [ebp + 0x18]
test ecx, ecx
jne 0x45ab3a
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x20]
cmp ecx, eax
je 0x45ac6a
push ecx
mov ecx, dword [ebp + 8]
push eax
mov eax, dword [ebp + 0xc]
push 0
push eax
push str.table__S_has__d_columns_but__d_values_were_supplied
push ecx
call fcn.00425e20
add esp, 0x18
jmp 0x45b795
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x20]
cmp eax, edx
je 0x45ab5d
push edx
mov edx, dword [ebp + 8]
push eax
push str._d_values_for__d_columns
push edx
call fcn.00425e20
add esp, 0x10
jmp 0x45b795
xor eax, eax
test edx, edx
jle 0x45ab72
or edx, 0xffffffff
mov esi, dword [ecx]
mov dword [esi + eax*8 + 4], edx
inc eax
cmp eax, dword [ecx + 4]
jl 0x45ab66
cmp dword [ecx + 4], 0
mov dword [esp + 0x10], 0
jle 0x45ac71
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
xor edi, edi
mov dword [esp + 0x18], eax
test eax, eax
jle 0x45abcc
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx]
mov eax, dword [esp + 0x10]
mov ecx, dword [edx + eax*8]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x14]
mov esi, dword [edx + 8]
mov dword [esp + 0x54], eax
mov dword [esp + 0x64], ecx
mov edx, dword [esi]
mov ecx, dword [esp + 0x64]
call fcn.00425f30
test eax, eax
je 0x45ac28
inc edi
add esi, 0x14
cmp edi, dword [esp + 0x18]
jl 0x45abb3
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
cmp edi, dword [edx + 4]
jl 0x45ac15
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax]
mov edi, dword [ecx + esi*8]
mov edx, str._ROWID_
mov ecx, edi
call fcn.00425f30
test eax, eax
je 0x45ac11
mov edx, str.ROWID
mov ecx, edi
call fcn.00425f30
test eax, eax
je 0x45ac11
mov edx, 0x4d6f64
mov ecx, edi
call fcn.00425f30
test eax, eax
jne 0x45ac42
mov dword [esp + 0x40], esi
mov edx, dword [ebp + 0x18]
inc esi
mov dword [esp + 0x10], esi
cmp esi, dword [edx + 4]
jl 0x45ab84
jmp 0x45ac71
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov dword [eax + 4], edi
cmp edi, dword [ecx + 0xc]
jne 0x45abd0
mov dword [esp + 0x40], esi
jmp 0x45abd0
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + esi*8]
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
push edx
push 0
push eax
push str.table__S_has_no_column_named__s
push esi
call fcn.00425e20
add esp, 0x14
inc dword [esi + 0x18]
jmp 0x45b795
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x40], ecx
cmp dword [esp + 0x2c], 0
je 0x45aca0
mov esi, dword [esp + 0x48]
push 0
push esi
push 0x15
mov eax, ebx
call fcn.00432190
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 4]
add esp, 0xc
push eax
push esi
push 0x11
mov eax, ebx
call fcn.00432190
add esp, 0xc
mov ecx, dword [esp + 0x5c]
test byte [ecx + 8], 0x80
mov esi, dword [ebp + 8]
je 0x45acc9
mov eax, dword [esi + 0x20]
push eax
lea edx, [eax + 1]
mov dword [esp + 0x64], eax
push 0
push 0x5d
mov eax, ebx
mov dword [esi + 0x20], edx
call fcn.00432190
add esp, 0xc
cmp dword [esp + 0x2c], 0
jne 0x45ace7
mov eax, dword [esi + 0x1c]
push 0x16
push eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x1c]
push esi
call fcn.0045cd40
add esp, 0xc
cmp dword [esp + 0x30], 0
je 0x45ad14
mov eax, ebx
call fcn.00432230
push eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x3c]
push eax
push 0x33
mov eax, ebx
call fcn.00432190
mov ecx, dword [ebx + 0x10]
add esp, 0xc
mov dword [esp + 0x70], ecx
jmp 0x45ad38
cmp dword [ebp + 0x14], 0
je 0x45ad38
mov edx, dword [esp + 0x44]
push edx
push 0
push 0x5c
mov eax, ebx
call fcn.00432190
mov edx, dword [esp + 0x28]
add esp, 0xc
mov ecx, ebx
call fcn.00432280
mov eax, ebx
call fcn.00432230
test byte [esp + 0x2c], 1
mov dword [esp + 0x18], eax
je 0x45af2c
mov eax, dword [esp + 0x40]
test eax, eax
jns 0x45ad5e
push 0
push 0xffffffffffffffff
push 0x2a
jmp 0x45adc0
cmp dword [esp + 0x30], 0
je 0x45ad6f
push eax
mov eax, dword [esp + 0x3c]
push eax
push 0x62
jmp 0x45adc0
mov edx, dword [ebp + 0x10]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ebp + 8]
push ecx
push edx
call fcn.00453bd0
mov eax, dword [ebx + 0x10]
add eax, 3
push eax
push 0xffffffffffffffff
push 0x41
mov eax, ebx
call fcn.00432190
add esp, 0x14
push 0
push 1
push 0x1a
mov eax, ebx
call fcn.00432190
add esp, 0xc
push 0
push 0xffffffffffffffff
push 0x2a
mov eax, ebx
call fcn.00432190
add esp, 0xc
push 0
push 0
push 0x70
mov eax, ebx
call fcn.00432190
mov ecx, dword [esp + 0x20]
add esp, 0xc
cmp dword [ecx + 4], 0
mov dword [esp + 0x10], 0
jle 0x45aeca
mov dword [esp + 0x1c], 0
mov ecx, dword [ebp + 0x18]
test ecx, ecx
jne 0x45ae0e
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x30], 0
je 0x45ae4e
mov ecx, dword [esp + 0x38]
push eax
push ecx
push 0x62
mov eax, ebx
call fcn.00432190
jmp 0x45aeac
mov edx, dword [ecx + 4]
xor eax, eax
test edx, edx
jle 0x45ae2c
mov ecx, dword [ecx]
mov esi, dword [esp + 0x10]
add ecx, 4
cmp dword [ecx], esi
je 0x45ae2c
inc eax
add ecx, 8
cmp eax, edx
jl 0x45ae20
cmp eax, edx
jl 0x45adf3
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + ecx + 4]
mov eax, dword [ebp + 8]
push edx
push eax
call fcn.00453bd0
add esp, 8
jmp 0x45aeaf
lea edx, [eax + eax*2]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0xc]
mov esi, dword [ecx + edx*4]
mov edx, dword [ebp + 8]
mov edi, dword [edx + 0xc]
test edi, edi
je 0x45aeaf
mov eax, dword [edi + 0x10]
mov ecx, edx
push esi
push ecx
mov dword [esp + 0x4c], eax
call fcn.00453bd0
mov edx, dword [esp + 0x4c]
inc edx
add esp, 8
cmp dword [edi + 0x10], edx
jg 0x45ae91
mov eax, dword [esp + 0x44]
mov ecx, dword [edi + 0x18]
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4], 0x7b
jne 0x45aeaf
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x20]
push 0
push eax
mov dword [esi + 0x24], eax
inc dword [ecx + 0x20]
push 0x6c
mov eax, edi
call fcn.00432190
mov byte [esi], 0x7e
add esp, 0xc
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
add dword [esp + 0x1c], 0x14
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [edx + 4]
jl 0x45ade8
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 4]
push 0
push eax
push 0x5a
mov eax, ebx
call fcn.00432190
add esp, 0xc
cmp dword [esp + 0x24], 0
jne 0x45aef2
push ebx
mov eax, esi
call fcn.0045a3c0
add esp, 4
mov edi, dword [esp + 0x48]
push 0
push edi
push 0x61
mov eax, ebx
call fcn.00432190
mov ecx, dword [esp + 0x24]
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 8]
add esp, 0xc
push ecx
push edx
push 0xffffffffffffffff
push edi
push esi
push 1
push 0
push 0x64
push eax
call fcn.004451d0
add esp, 0x24
test eax, eax
jne 0x45b795
cmp dword [esp + 0x2c], 0
je 0x45af5a
cmp dword [esp + 0x24], 0
jne 0x45b166
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x1c]
push 0x16
push eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x1c]
push ecx
call fcn.0045cd40
add esp, 0xc
jmp 0x45af65
cmp dword [esp + 0x24], 0
jne 0x45b166
mov edi, dword [esp + 0x40]
test edi, edi
js 0x45b006
cmp dword [esp + 0x30], 0
je 0x45af8c
mov ecx, dword [esp + 0x38]
push edi
push ecx
push 0x62
mov eax, ebx
call fcn.00432190
add esp, 0xc
jmp 0x45afc3
cmp dword [ebp + 0x14], 0
je 0x45afaa
mov edx, dword [esp + 0x20]
sub edx, edi
push 1
dec edx
push edx
push 0xa
mov eax, ebx
call fcn.00432190
add esp, 0xc
jmp 0x45afc3
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ebp + 8]
lea eax, [edi + edi*2]
mov eax, dword [edx + eax*4]
push eax
push ecx
call fcn.00453bd0
add esp, 8
mov edx, dword [ebx + 0x10]
add edx, 3
push edx
push 0xffffffffffffffff
push 0x41
mov eax, ebx
call fcn.00432190
add esp, 0xc
push 0
push 1
push 0x1a
mov eax, ebx
call fcn.00432190
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x48]
add esp, 0xc
push esi
push eax
push 0x2d
mov eax, ebx
call fcn.00432190
add esp, 0xc
push 0
push 0
push 0x70
jmp 0x45b012
mov esi, dword [esp + 0x50]
mov ecx, dword [esp + 0x3c]
push esi
push ecx
push 0x2d
mov eax, ebx
call fcn.00432190
mov edx, dword [esp + 0x20]
add esp, 0xc
cmp byte [edx + 0x20], 0
je 0x45b035
push 0
push esi
push 0x6b
mov eax, ebx
call fcn.00432190
add esp, 0xc
mov eax, dword [esp + 0x14]
xor esi, esi
cmp dword [eax + 4], esi
jle 0x45b115
mov edi, dword [ebp + 0x18]
mov dword [esp + 0x1c], esi
jmp 0x45b050
cmp esi, dword [eax + 0xc]
jne 0x45b06a
push 0
push 0
push 0x36
mov eax, ebx
call fcn.00432190
add esp, 0xc
jmp 0x45b0fe
test edi, edi
jne 0x45b08b
mov eax, esi
cmp dword [esp + 0x30], 0
je 0x45b0c6
push eax
mov eax, dword [esp + 0x3c]
push eax
push 0x62
mov eax, ebx
call fcn.00432190
add esp, 0xc
jmp 0x45b0fe
mov edx, dword [edi + 4]
xor eax, eax
test edx, edx
jle 0x45b0ac
mov ecx, dword [edi]
add ecx, 4
lea esp, [esp]
cmp dword [ecx], esi
je 0x45b0ac
inc eax
add ecx, 8
cmp eax, edx
jl 0x45b0a0
cmp eax, edx
jl 0x45b070
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 8]
mov eax, dword [esp + 0x1c]
mov ecx, dword [edx + eax + 4]
mov edx, dword [ebp + 8]
push ecx
push edx
jmp 0x45b0f6
cmp dword [ebp + 0x14], 0
je 0x45b0e5
mov ecx, esi
sub ecx, eax
add ecx, dword [esp + 0x20]
push 1
push ecx
push 0xa
mov eax, ebx
call fcn.00432190
add esp, 0xc
jmp 0x45b0fe
lea edx, [eax + eax*2]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + edx*4]
mov eax, dword [ebp + 8]
push edx
push eax
call fcn.00453bd0
add esp, 8
mov eax, dword [esp + 0x14]
add dword [esp + 0x1c], 0x14
inc esi
cmp esi, dword [eax + 4]
jl 0x45b050
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp + 0x1c]
mov esi, dword [esp + 0x3c]
push ecx
mov ecx, dword [ebp + 8]
xor eax, eax
test edi, edi
mov edi, dword [esp + 0x18]
push edx
setns al
push 0
push eax
push 0
push esi
push ecx
mov ecx, edi
call fcn.0045b9a0
add esp, 0x1c
test byte [esp + 0x2c], 2
je 0x45b14e
mov eax, dword [esp + 0x48]
jmp 0x45b151
or eax, 0xffffffff
mov edx, dword [ebp + 8]
push eax
push 0
push 0
push 0
push esi
push edi
push edx
call fcn.0045c9e0
add esp, 0x1c
mov eax, dword [esp + 0x5c]
test byte [eax + 8], 0x80
je 0x45b183
mov ecx, dword [esp + 0x60]
push ecx
push 1
push 0x38
mov eax, ebx
call fcn.00432190
add esp, 0xc
cmp dword [esp + 0x2c], 0
je 0x45b24e
cmp dword [esp + 0x24], 0
jne 0x45b21f
mov esi, dword [esp + 0x3c]
push 0
push esi
push 0x67
mov eax, ebx
call fcn.00432190
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x10]
add esp, 0xc
mov dword [esp + 0x24], eax
test eax, eax
je 0x45b21f
inc esi
mov dword [esp + 0x1c], esi
mov esi, dword [ebx + 0x10]
lea ecx, [esi + 1]
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], esi
jg 0x45b1e8
mov edi, ebx
call fcn.004320e0
cmp dword [0x4f019c], 0
je 0x45b1e8
xor ecx, ecx
cmp dword [0x4f01a8], ecx
jg 0x45b20c
mov ecx, dword [ebx + 0x18]
mov edx, dword [esp + 0x1c]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
xor ecx, ecx
mov byte [eax], 0x67
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [ebx + 0x238], cl
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x20]
inc dword [esp + 0x1c]
mov dword [esp + 0x24], eax
cmp eax, ecx
jne 0x45b1c0
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp + 0x1c]
mov eax, dword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [ebp + 8]
push 0xffffffffffffffff
push eax
push ecx
push 2
push 0
push 0x64
push edx
call fcn.004451d0
add esp, 0x24
test eax, eax
jne 0x45b795
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x45b267
mov ecx, dword [esp + 0x18]
lea edx, [ecx*4 + 4]
mov ecx, dword [ebx + 0x10]
sub eax, edx
mov dword [eax], ecx
cmp dword [esp + 0x30], 0
je 0x45b2ae
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x38]
push edx
push esi
push 0x6d
mov eax, ebx
call fcn.00432190
mov eax, dword [ebx + 0x24]
add esp, 0xc
test eax, eax
je 0x45b29d
mov ecx, dword [esp + 0x4c]
lea edx, [ecx*4 + 4]
mov ecx, dword [ebx + 0x10]
sub eax, edx
mov dword [eax], ecx
push 0
push esi
push 0x67
mov eax, ebx
call fcn.00432190
add esp, 0xc
jmp 0x45b2f0
cmp dword [ebp + 0x14], 0
je 0x45b2f0
mov edx, dword [esp + 0x20]
push 0
push edx
push 0x1a
mov eax, ebx
call fcn.00432190
add esp, 0xc
push 0
push 0
push 0x30
mov eax, ebx
call fcn.00432190
mov eax, dword [ebx + 0x24]
add esp, 0xc
test eax, eax
je 0x45b2f0
mov ecx, dword [esp + 0x28]
lea edx, [ecx*4 + 4]
mov ecx, dword [ebx + 0x10]
sub eax, edx
mov dword [eax], ecx
cmp dword [esp + 0x2c], 0
jne 0x45b381
mov esi, dword [esp + 0x3c]
push 0
push esi
push 0x67
mov eax, ebx
call fcn.00432190
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x10]
add esp, 0xc
mov dword [esp + 0x24], eax
test eax, eax
je 0x45b381
inc esi
mov dword [esp + 0x28], esi
mov esi, dword [ebx + 0x10]
lea ecx, [esi + 1]
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], esi
jg 0x45b34a
mov edi, ebx
call fcn.004320e0
cmp dword [0x4f019c], 0
je 0x45b34a
xor ecx, ecx
cmp dword [0x4f01a8], ecx
jg 0x45b36e
mov ecx, dword [ebx + 0x18]
mov edx, dword [esp + 0x28]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
xor ecx, ecx
mov byte [eax], 0x67
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [ebx + 0x238], cl
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x20]
inc dword [esp + 0x28]
mov dword [esp + 0x24], eax
cmp eax, ecx
jne 0x45b322
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x20], 0
je 0x45b71d
mov edx, dword [ebx + 0x10]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x1c]
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x34]
mov edx, dword [edx + 0x14]
push 0x16
push esi
mov dword [esp + 0x30], eax
push eax
mov eax, dword [edx + 0x74]
call fcn.00455310
mov eax, dword [ebx + 0x10]
add esp, 0xc
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x45b3e7
mov edi, ebx
call fcn.004320e0
xor esi, esi
cmp dword [0x4f019c], esi
je 0x45b3e9
cmp dword [0x4f01a8], esi
jg 0x45b410
jmp 0x45b3e9
xor esi, esi
mov ecx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x68]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x31
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x45b439
mov edi, ebx
call fcn.004320e0
cmp dword [0x4f019c], esi
je 0x45b439
cmp dword [0x4f01a8], esi
jg 0x45b467
mov ecx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x54]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
add edx, 7
mov byte [eax], 0x41
mov dword [eax + 4], 0xffffffff
mov dword [eax + 8], edx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x45b490
mov edi, ebx
call fcn.004320e0
cmp dword [0x4f019c], esi
je 0x45b490
cmp dword [0x4f01a8], esi
jg 0x45b4b7
mov ecx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x1a
mov dword [eax + 4], 1
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x45b4e0
mov edi, ebx
call fcn.004320e0
cmp dword [0x4f019c], esi
je 0x45b4e0
cmp dword [0x4f01a8], esi
jg 0x45b507
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x18]
lea eax, [eax + edx*4]
mov byte [eax], 0x2d
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x45b53e
mov edi, ebx
call fcn.004320e0
cmp dword [0x4f019c], esi
je 0x45b53e
cmp dword [0x4f01a8], esi
jle 0x45b53e
xor eax, eax
jmp 0x45b563
mov eax, dword [ebx + 0x18]
mov ecx, dword [esp + 0x10]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x56
mov dword [eax + 4], esi
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov eax, ecx
mov ecx, dword [ebx + 0x18]
cmp ecx, esi
je 0x45b5dd
cmp dword [0x4f019c], esi
je 0x45b57a
cmp dword [0x4f01a8], esi
jg 0x45b5dd
cmp eax, esi
jl 0x45b583
cmp eax, dword [ebx + 0x10]
jl 0x45b589
mov eax, dword [ebx + 0x10]
dec eax
js 0x45b5dd
lea edx, [eax + eax*4]
mov eax, dword [ecx + edx*4 + 0x10]
lea edi, [ecx + edx*4]
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x54], edi
call fcn.004324c0
mov eax, dword [esp + 0x34]
mov dword [edi + 0xc], esi
cmp eax, esi
jne 0x45b5b2
mov dword [edi + 0xc], esi
mov dword [edi + 0x10], esi
jmp 0x45b5dd
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45b5b5
mov ebx, dword [esp + 0x34]
sub eax, edx
mov edi, eax
call fcn.00425bd0
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], 0xffffffff
xor esi, esi
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x45b606
mov edi, ebx
call fcn.004320e0
cmp dword [0x4f019c], esi
je 0x45b606
cmp dword [0x4f01a8], esi
jg 0x45b62d
mov ecx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x50]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x31
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x45b656
mov edi, ebx
call fcn.004320e0
cmp dword [0x4f019c], esi
je 0x45b656
cmp dword [0x4f01a8], esi
jg 0x45b67d
mov ecx, dword [ebx + 0x18]
mov eax, dword [esp + 0x10]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x5a
mov dword [eax + 4], 2
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x45b6a6
mov edi, ebx
call fcn.004320e0
cmp dword [0x4f019c], esi
je 0x45b6a6
cmp dword [0x4f01a8], esi
jg 0x45b6cd
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x18]
lea eax, [eax + edx*4]
mov byte [eax], 0x61
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov eax, dword [ebx + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
mov dword [ebx + 0x10], ecx
cmp dword [ebx + 0x14], eax
jg 0x45b6f6
mov edi, ebx
call fcn.004320e0
cmp dword [0x4f019c], esi
je 0x45b6f6
cmp dword [0x4f01a8], esi
jg 0x45b71d
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x18]
lea eax, [eax + edx*4]
mov byte [eax], 0x67
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [ebx + 0x238], 0
mov edx, dword [esp + 0x5c]
test byte [edx + 8], 0x80
je 0x45b795
mov eax, dword [ebp + 8]
cmp byte [eax + 0x13], 0
jne 0x45b795
mov ecx, eax
cmp dword [ecx + 0xac], 0
jne 0x45b795
mov edx, dword [esp + 0x60]
push 0
push edx
push 0x31
mov eax, ebx
call fcn.00432190
add esp, 0xc
push 0
push 1
push 0x3e
mov eax, ebx
call fcn.00432190
add esp, 0xc
push ebx
mov eax, 1
call fcn.00432f20
add esp, 4
cmp dword [0x4f019c], 0
je 0x45b77e
cmp dword [0x4f01a8], 0
jg 0x45b795
mov eax, dword [ebx + 0x34]
push 0
push 1
push 0xffffffffffffffff
push str.rows_inserted
push eax
call fcn.00431830
add esp, 0x14
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00439db0
mov ebx, dword [ebp + 0x10]
add esp, 4
test ebx, ebx
je 0x45b8e0
cmp dword [ebx], 0
mov esi, dword [ebx + 0xc]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x34], 0
jle 0x45b8c7
mov edi, dword [esi]
test edi, edi
je 0x45b89f
test byte [edi + 0x20], 1
je 0x45b7e4
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x45b7e4
push eax
call fcn.0049b3dd
add esp, 4
test byte [edi + 0x18], 1
je 0x45b7fa
mov eax, dword [edi + 0x14]
test eax, eax
je 0x45b7fa
push eax
call fcn.0049b3dd
add esp, 4
mov edx, dword [edi + 8]
push edx
call fcn.00452080
mov eax, dword [edi + 0xc]
add esp, 4
push eax
call fcn.00452080
mov ebx, dword [edi + 0x10]
add esp, 4
call fcn.004527e0
mov eax, dword [edi + 0x38]
mov dword [esp + 0x58], eax
test eax, eax
je 0x45b893
mov esi, eax
mov ebx, dword [esi]
call fcn.004527e0
mov ecx, dword [esi + 0xc]
push ecx
call fcn.00439db0
mov edx, dword [esi + 0x10]
add esp, 4
push edx
call fcn.00452080
mov ebx, dword [esi + 0x14]
add esp, 4
call fcn.004527e0
mov eax, dword [esi + 0x18]
push eax
call fcn.00452080
mov ebx, dword [esi + 0x1c]
add esp, 4
call fcn.004527e0
mov esi, dword [esi + 0x20]
call fcn.0044c430
mov esi, dword [esp + 0x58]
mov ecx, dword [esi + 0x28]
push ecx
call fcn.00452080
mov edx, dword [esi + 0x2c]
add esp, 4
push edx
call fcn.00452080
add esp, 4
push esi
call fcn.0049b3dd
mov esi, dword [esp + 0x50]
add esp, 4
push edi
call fcn.0049b3dd
mov ebx, dword [ebp + 0x10]
add esp, 4
mov eax, dword [esi + 4]
test eax, eax
je 0x45b8af
push eax
call fcn.0049b3dd
add esp, 4
mov eax, dword [esp + 0x34]
inc eax
add esi, 0xc
mov dword [esp + 0x34], eax
mov dword [esp + 0x4c], esi
cmp eax, dword [ebx]
jl 0x45b7c4
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x45b8d7
push eax
call fcn.0049b3dd
add esp, 4
push ebx
call fcn.0049b3dd
add esp, 4
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x45b94e
mov ebx, dword [eax]
call fcn.004527e0
mov edi, dword [ebp + 0x14]
mov eax, dword [edi + 0xc]
push eax
call fcn.00439db0
mov ecx, dword [edi + 0x10]
add esp, 4
push ecx
call fcn.00452080
mov ebx, dword [edi + 0x14]
add esp, 4
call fcn.004527e0
mov edx, dword [edi + 0x18]
push edx
call fcn.00452080
mov ebx, dword [edi + 0x1c]
add esp, 4
call fcn.004527e0
mov esi, dword [edi + 0x20]
call fcn.0044c430
mov eax, dword [edi + 0x28]
push eax
call fcn.00452080
mov ecx, dword [edi + 0x2c]
add esp, 4
push ecx
call fcn.00452080
add esp, 4
push edi
call fcn.0049b3dd
add esp, 4
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x45b98c
xor esi, esi
cmp dword [edi + 4], esi
jle 0x45b974
mov edx, dword [edi]
mov eax, dword [edx + esi*8]
test eax, eax
je 0x45b96e
push eax
call fcn.0049b3dd
add esp, 4
inc esi
cmp esi, dword [edi + 4]
jl 0x45b95c
mov eax, dword [edi]
test eax, eax
je 0x45b983
push eax
call fcn.0049b3dd
add esp, 4
push edi
call fcn.0049b3dd
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret