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

Disassembly:
sub esp, 0x90
xor eax, eax
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0xa4]
mov ecx, dword [edi]
mov dword [esp + 0x18], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x48], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
cmp dword [edi + 0x40], eax
jne 0x4721ff
cmp byte [ecx + 0x1e], al
jne 0x4721ff
mov ecx, dword [esp + 0xa8]
cmp dword [ecx + 0xc], eax
je 0x4721ff
push edi
mov eax, ecx
call fcn.0046bf50
mov ebx, eax
add esp, 4
mov dword [esp + 0x10], ebx
test ebx, ebx
je 0x4721ff
mov ebp, dword [esp + 0x40]
mov esi, dword [ebx + 0x44]
mov ecx, ebp
call fcn.00427fe0
mov ecx, dword [ebx]
mov esi, eax
mov eax, dword [ebp + 8]
mov edx, esi
shl edx, 4
mov eax, dword [edx + eax]
push eax
push 0
push ecx
push 0x12
mov eax, edi
mov dword [esp + 0x38], esi
call fcn.00435cb0
add esp, 0x10
test eax, eax
jne 0x4721ff
lea edx, [esp + 0x2c]
push edx
push eax
push 0x69
push edi
mov eax, ebx
call fcn.00428750
mov dword [esp + 0x64], eax
xor eax, eax
cmp dword [ebx + 0x1c], eax
push ebx
setne al
push edi
mov dword [esp + 0x70], eax
call fcn.00470e80
add esp, 0x18
test eax, eax
jne 0x4721ff
mov ecx, dword [esp + 0x2c]
push ecx
mov ecx, ebx
mov eax, edi
call fcn.00436fc0
add esp, 4
test eax, eax
jne 0x4721ff
call fcn.00438c10
mov ebp, eax
test ebp, ebp
je 0x4721ff
cmp byte [edi + 0x13], 0
jne 0x471105
mov byte [ebp + 0x61], 1
cmp dword [esp + 0xb0], 0
jne 0x47111a
cmp dword [esp + 0x54], 0
jne 0x47111a
xor eax, eax
jmp 0x47111f
mov eax, 1
push eax
mov ecx, esi
mov eax, edi
call fcn.0045c7b0
add esp, 4
cmp dword [esp + 0xb4], 0
jne 0x471158
mov edx, dword [esp + 0xb8]
mov eax, dword [esp + 0xb0]
push esi
push edx
push ebx
push edi
call fcn.0046c380
add esp, 0x10
test eax, eax
jne 0x472159
push esi
mov edx, edi
call fcn.00430b10
xor ebx, ebx
add esp, 4
mov dword [esp + 0x34], eax
cmp dword [esp + 0xb0], ebx
je 0x47136d
mov esi, 1
add dword [edi + 0x48], esi
mov eax, dword [edi + 0x48]
push eax
mov dword [esp + 0x28], eax
push ebx
push 7
mov eax, ebp
call fcn.0042e090
add dword [edi + 0x48], esi
mov eax, dword [edi + 0x48]
mov byte [esp + 0x79], bl
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov ebx, dword [ebp + 0xc]
push eax
mov dword [esp + 0x80], eax
add ebx, 2
lea eax, [ebx - 1]
push eax
push 7
mov eax, ebp
mov byte [esp + 0x84], 0xa
call fcn.0042e090
push 0
push 0
push esi
mov eax, ebp
call fcn.0042e090
mov edx, dword [esp + 0xd4]
lea ecx, [esp + 0x90]
push ecx
push edx
push edi
mov esi, eax
call fcn.0046d350
add esp, 0x30
test eax, eax
jne 0x4721ff
mov eax, edi
cmp dword [eax + 0x40], 0
jne 0x4721ff
mov ecx, dword [esp + 0x40]
cmp byte [ecx + 0x1e], 0
jne 0x4721ff
mov edx, dword [esp + 0x24]
push edx
push 1
push 7
mov eax, ebp
call fcn.0042e090
mov eax, dword [esp + 0x7c]
push eax
push 4
mov eax, ebp
call fcn.0042e040
push 2
push 2
push 6
mov eax, ebp
call fcn.0042e090
mov eax, dword [ebp + 0xc]
add esp, 0x20
cmp eax, esi
jle 0x471253
mov edx, dword [ebp + 0x14]
lea ecx, [esi + esi*4]
mov dword [edx + ecx*4 + 8], eax
cmp dword [esp + 0x54], 0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0xb0]
mov edx, dword [ecx]
mov dword [esp + 0x44], eax
mov eax, dword [edx]
mov dword [esp + 0x20], eax
jne 0x471298
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0xa4]
push ecx
push edx
mov edi, ebx
mov eax, esi
call fcn.0043fb60
add esp, 8
test eax, eax
je 0x47140e
jmp 0x47129a
mov esi, edi
mov edi, dword [esi + 0x44]
lea eax, [edi + 1]
mov dword [esi + 0x44], eax
mov eax, esi
mov dword [esp + 0x48], 1
mov dword [esp + 0x30], edi
call fcn.00426f90
mov ebx, eax
mov eax, esi
call fcn.00426f90
mov ecx, dword [esp + 0x20]
push ecx
mov dword [esp + 0x20], eax
push edi
push 0x29
mov eax, ebp
call fcn.0042e090
mov edx, dword [esp + 0x7c]
push edx
push 4
mov eax, ebp
call fcn.0042e040
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x38]
push eax
push 0x1a
mov eax, ebp
call fcn.0042e040
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x90]
push ebx
push ecx
push edx
mov esi, eax
push 0x1e
mov eax, ebp
call fcn.0042df90
mov eax, dword [esp + 0x48]
push eax
push edi
push 0x36
mov eax, ebp
call fcn.0042e090
mov ecx, dword [esp + 0x54]
push ecx
push ebx
push edi
push 0x37
mov eax, ebp
call fcn.0042df90
mov edx, dword [esp + 0x70]
add esp, 0x48
push edx
push 0
push 1
mov eax, ebp
call fcn.0042e090
mov eax, dword [ebp + 0xc]
add esp, 0xc
cmp eax, esi
jle 0x471351
mov edx, dword [ebp + 0x14]
lea ecx, [esi + esi*4]
mov dword [edx + ecx*4 + 8], eax
mov edx, dword [esp + 0xa4]
mov esi, ebx
call fcn.00426fb0
mov esi, dword [esp + 0x1c]
call fcn.00426fb0
jmp 0x47140e
xor eax, 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 + 0x98], eax
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x7c], edi
mov dword [esp + 0x30], 0xffffffff
cmp eax, ebx
je 0x4713c6
mov eax, dword [eax]
jmp 0x4713c8
xor eax, eax
xor edi, edi
cmp eax, ebx
mov dword [esp + 0x20], eax
jle 0x47140e
mov dword [esp + 0x1c], ebx
jmp 0x4713e0
mov eax, dword [esp + 0xac]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x1c]
mov ebx, dword [edx + ecx]
lea esi, [esp + 0x7c]
call fcn.00444770
test eax, eax
jne 0x4721ff
add dword [esp + 0x1c], 0x14
inc edi
cmp edi, dword [esp + 0x20]
jl 0x4713e0
mov ebx, dword [esp + 0x10]
test byte [ebx + 0x22], 0x10
je 0x471478
mov ecx, dword [ebx + 8]
xor esi, esi
xor edi, edi
xor edx, edx
cmp ecx, 2
jl 0x471454
mov eax, dword [ebx + 0xc]
add ecx, 0xfffffffe
shr ecx, 1
add eax, 0x2f
inc ecx
lea edx, [ecx + ecx]
xor ebx, ebx
cmp byte [eax - 0x18], bl
setne bl
add esi, ebx
xor ebx, ebx
cmp byte [eax], bl
setne bl
add eax, 0x30
add edi, ebx
sub ecx, 1
jne 0x471435
mov ebx, dword [esp + 0x10]
cmp edx, dword [ebx + 8]
jge 0x47146e
mov ecx, dword [ebx + 0xc]
lea eax, [edx + edx*2]
xor edx, edx
cmp byte [ecx + eax*8 + 0x17], dl
setne dl
add edi, esi
add edx, edi
jmp 0x47147c
mov edx, dword [esp + 0x18]
add edi, esi
add edx, edi
jmp 0x47147c
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0xb4]
test ecx, ecx
jne 0x4714c8
cmp dword [esp + 0x20], ecx
je 0x471627
mov eax, dword [ebx + 8]
sub eax, edx
cmp dword [esp + 0x20], eax
je 0x471619
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0xa4]
push edx
push eax
mov eax, dword [esp + 0xb0]
push ecx
push eax
push str.table__S_has__d_columns_but__d_values_were_supplied
call fcn.00433540
add esp, 0x14
jmp 0x4721ff
mov edx, dword [ecx + 4]
cmp dword [esp + 0x20], edx
je 0x4714f0
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0xa4]
push edx
push ecx
push str._d_values_for__d_columns
call fcn.00433540
add esp, 0xc
jmp 0x4721ff
xor eax, eax
test edx, edx
jle 0x47150c
or edx, 0xffffffff
lea esp, [esp]
mov esi, dword [ecx]
mov dword [esi + eax*8 + 4], edx
inc eax
cmp eax, dword [ecx + 4]
jl 0x471500
cmp dword [ecx + 4], 0
mov dword [esp + 0x14], 0
jle 0x471627
mov edi, edi
mov edx, dword [esp + 0x10]
mov ebx, dword [edx + 8]
xor esi, esi
test ebx, ebx
jle 0x471581
mov eax, dword [esp + 0xb4]
mov ecx, dword [eax]
mov edx, dword [esp + 0x14]
lea eax, [ecx + edx*8]
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0xc]
mov dword [esp + 0x3c], eax
mov eax, dword [eax]
mov dword [esp + 0x28], eax
mov edi, edi
mov edx, dword [edi]
mov ecx, dword [esp + 0x28]
call fcn.00420900
test eax, eax
je 0x471569
inc esi
add edi, 0x18
cmp esi, ebx
jl 0x471550
jmp 0x471581
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
mov dword [edx + 4], esi
cmp esi, dword [eax + 4]
jne 0x471581
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x10]
cmp esi, dword [edx + 8]
mov edi, dword [esp + 0x14]
jl 0x4715ce
mov eax, dword [esp + 0xb4]
mov ecx, dword [eax]
mov esi, dword [ecx + edi*8]
mov edx, str._ROWID_
mov ecx, esi
call fcn.00420900
test eax, eax
je 0x4715ca
mov edx, str.ROWID
mov ecx, esi
call fcn.00420900
test eax, eax
je 0x4715ca
mov edx, 0x49766c
mov ecx, esi
call fcn.00420900
test eax, eax
jne 0x4715e5
mov dword [esp + 0x4c], edi
mov edx, dword [esp + 0xb4]
inc edi
cmp edi, dword [edx + 4]
mov dword [esp + 0x14], edi
jl 0x471520
jmp 0x471627
mov eax, dword [esp + 0xb4]
mov ecx, dword [eax]
mov edx, dword [ecx + edi*8]
mov eax, dword [esp + 0xa8]
mov edi, dword [esp + 0xa4]
push edx
push 0
push eax
push str.table__S_has_no_column_named__s
call fcn.00433540
add esp, 0x10
mov byte [edi + 0x12], 1
jmp 0x4721ff
cmp dword [esp + 0x20], 0
jle 0x471627
mov ecx, dword [ebx + 4]
mov dword [esp + 0x4c], ecx
mov esi, dword [esp + 0x40]
test dword [esi + 0xc], 0x1000
mov edi, dword [esp + 0xa4]
je 0x471654
inc dword [edi + 0x48]
mov eax, dword [edi + 0x48]
push eax
mov dword [esp + 0x6c], eax
push 0
push 7
mov eax, ebp
call fcn.0042e090
add esp, 0xc
cmp dword [esp + 0x58], 0
jne 0x4716a0
mov eax, dword [edi + 0x44]
push 0x27
push eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x18]
push edi
call fcn.00447930
mov ebx, eax
add esp, 0xc
lea ecx, [ebx*4 + 4]
call fcn.0042b020
mov dword [esp + 0x5c], eax
test eax, eax
je 0x4721ff
xor ecx, ecx
test ebx, ebx
jle 0x4716a0
inc dword [edi + 0x48]
mov edx, dword [edi + 0x48]
mov dword [eax + ecx*4], edx
inc ecx
cmp ecx, ebx
jl 0x471692
mov ebx, dword [esp + 0x48]
test ebx, ebx
je 0x4716c6
mov edx, dword [esp + 0x30]
push edx
push 0x41
mov eax, ebp
call fcn.0042e040
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0xc]
add esp, 8
mov dword [esp + 0x60], eax
jmp 0x4716f7
cmp dword [esp + 0xb0], 0
je 0x4716f7
mov ecx, dword [esp + 0x70]
push ecx
push 4
mov eax, ebp
call fcn.0042e040
mov edx, dword [esp + 0x2c]
push edx
mov dword [esp + 0x6c], eax
push 0x1a
mov eax, ebp
call fcn.0042e040
add esp, 0x10
mov dword [esp + 0x50], eax
inc dword [edi + 0x48]
mov eax, dword [edi + 0x48]
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 8]
lea ecx, [eax + 1]
lea eax, [eax + esi + 1]
mov dword [edi + 0x48], eax
test byte [edx + 0x22], 0x10
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x18], ecx
je 0x471725
inc ecx
inc eax
mov dword [esp + 0x18], ecx
mov dword [edi + 0x48], eax
inc ecx
mov eax, ebp
mov dword [esp + 0x28], ecx
call fcn.0042e0f0
test byte [esp + 0x2c], 1
mov dword [esp + 0x1c], eax
je 0x4719c8
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
mov ecx, dword [edi + 0x38]
mov esi, dword [edi + 0x3c]
inc eax
cmp eax, ecx
mov dword [esp + 0x24], esi
jg 0x471763
lea edx, [esi + eax]
sub ecx, eax
mov dword [edi + 0x3c], edx
mov dword [edi + 0x38], ecx
jmp 0x471772
mov ecx, dword [edi + 0x48]
lea esi, [ecx + 1]
add ecx, eax
mov dword [esp + 0x24], esi
mov dword [edi + 0x48], ecx
mov eax, dword [esp + 0x4c]
test eax, eax
jge 0x47178b
push esi
push 0xffffffffffffffff
push 7
mov eax, ebp
call fcn.0042e090
add esp, 0xc
jmp 0x4717f4
test ebx, ebx
je 0x4717a4
push esi
push eax
mov eax, dword [esp + 0x38]
push eax
push 0x1c
mov eax, ebp
call fcn.0042df90
add esp, 0x10
jmp 0x4717bb
mov edx, dword [esp + 0xac]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
mov eax, dword [eax + ecx*4]
mov ecx, edi
call fcn.0042f6a0
push esi
push 0x4a
mov eax, ebp
call fcn.0042e040
push esi
mov ebx, eax
push 0xffffffffffffffff
push 7
mov eax, ebp
call fcn.0042e090
mov eax, dword [ebp + 0xc]
add esp, 0x14
cmp eax, ebx
jle 0x4717e7
mov edx, dword [ebp + 0x14]
lea ecx, [ebx + ebx*4]
mov dword [edx + ecx*4 + 8], eax
push esi
push 0x15
mov eax, ebp
call fcn.0042e040
add esp, 8
mov eax, dword [esp + 0x10]
cmp dword [eax + 8], 0
mov dword [esp + 0x14], 0
jle 0x471957
mov dword [esp + 0x2c], 0
mov ebx, dword [esp + 0xb4]
mov edx, dword [esp + 0x14]
test ebx, ebx
jne 0x471825
mov esi, edx
jmp 0x47183f
mov ecx, dword [ebx + 4]
xor esi, esi
test ecx, ecx
jle 0x47183f
mov eax, dword [ebx]
add eax, 4
cmp dword [eax], edx
je 0x47183f
inc esi
add eax, 8
cmp esi, ecx
jl 0x471833
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x471850
cmp dword [esp + 0xac], eax
je 0x471859
test ebx, ebx
je 0x4718be
cmp esi, dword [ebx + 4]
jl 0x4718be
mov ecx, dword [esp + 0x24]
lea esi, [ecx + edx + 1]
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x2c]
mov eax, dword [eax + ecx + 4]
test eax, eax
je 0x471890
cmp byte [eax], 0x84
jne 0x471890
mov edx, dword [eax + 0x18]
mov eax, dword [edi + 0xc]
push esi
push edx
push 0xe
call fcn.0042e090
add esp, 0xc
jmp 0x47193c
push esi
push eax
push edi
call fcn.00460bb0
add esp, 0xc
cmp eax, esi
je 0x47193c
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x47193c
push esi
push eax
push 0xf
mov eax, ecx
call fcn.0042e090
add esp, 0xc
jmp 0x47193c
test eax, eax
je 0x471919
mov ebx, dword [ebp + 0xc]
cmp dword [ebp + 0x10], ebx
jg 0x4718dc
mov edi, ebp
call fcn.0042df10
mov edi, dword [esp + 0xa4]
test eax, eax
jne 0x47193c
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x30]
lea eax, [ebx + ebx*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x14]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x24]
lea ecx, [edx + ecx + 1]
mov byte [eax], 0x1c
mov byte [eax + 3], 0
mov dword [eax + 8], esi
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], 0
mov byte [eax + 1], 0
mov byte [ebp + 0x62], 0
jmp 0x47193c
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
lea ebx, [edx + eax + 1]
mov edx, dword [esp + 0xac]
mov eax, dword [edx + 0xc]
lea ecx, [esi + esi*4]
mov esi, dword [eax + ecx*4]
mov eax, edi
call fcn.0042f6f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
add dword [esp + 0x2c], 0x18
inc eax
cmp eax, dword [ecx + 8]
mov dword [esp + 0x14], eax
jl 0x471812
cmp dword [esp + 0x58], 0
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x24]
jne 0x471982
mov edx, dword [ebx + 8]
push edx
lea eax, [esi + 1]
push eax
push 0x1d
mov eax, ebp
call fcn.0042e090
push ebp
mov eax, ebx
call fcn.00430a50
add esp, 0x10
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xb8]
push ecx
mov ecx, dword [esp + 0x58]
push edx
mov eax, esi
sub eax, dword [ebx + 8]
dec eax
push eax
push ebx
push 1
push 0
push 0x69
push ecx
push edi
call fcn.00477040
mov ebx, dword [ebx + 8]
inc ebx
push esi
mov eax, ebx
mov esi, edi
call fcn.00426e20
add esp, 0x28
cmp ebx, dword [edi + 0x38]
jle 0x4719c8
mov edx, dword [esp + 0x24]
mov dword [edi + 0x38], ebx
mov dword [edi + 0x3c], edx
cmp dword [esp + 0x58], 0
jne 0x471eec
mov ebx, dword [esp + 0x10]
test byte [ebx + 0x22], 0x10
je 0x4719f0
mov eax, dword [esp + 0x3c]
push eax
push 0
push 0xa
mov eax, ebp
call fcn.0042e090
add esp, 0xc
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x18]
test eax, eax
jl 0x471b17
cmp dword [esp + 0x48], 0
je 0x471a6e
mov ecx, dword [esp + 0x30]
push esi
push eax
push ecx
push 0x1c
mov eax, ebp
call fcn.0042df90
add esp, 0x10
test byte [ebx + 0x22], 0x10
jne 0x471af4
push esi
push 0x4a
mov eax, ebp
call fcn.0042e040
mov ecx, dword [esp + 0x40]
mov edi, eax
mov eax, dword [esp + 0x3c]
push eax
push esi
push ecx
push 0x36
mov eax, ebp
call fcn.0042df90
mov eax, dword [ebp + 0xc]
add esp, 0x18
cmp eax, edi
jle 0x471b08
mov ecx, dword [ebp + 0x14]
lea edx, [edi + edi*4]
mov dword [ecx + edx*4 + 8], eax
push esi
push 0x15
mov eax, ebp
call fcn.0042e040
add esp, 8
jmp 0x471b4d
cmp dword [esp + 0xb0], 0
je 0x471a8e
mov edx, dword [esp + 0x44]
add edx, eax
push esi
push edx
push 0xf
mov eax, ebp
call fcn.0042e090
add esp, 0xc
jmp 0x471a1a
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx + 0xc]
mov ecx, dword [esp + 0xa4]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4]
call fcn.0042f6a0
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp]
dec eax
cmp byte [ecx + 0x1e], 0
je 0x471abe
mov eax, 0x4940c8
jmp 0x471acf
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x14]
lea eax, [eax + edx*4]
test eax, eax
je 0x471a1a
cmp byte [eax], 0xa
jne 0x471a1a
test byte [ebx + 0x22], 0x10
jne 0x471af4
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov byte [eax], 0x36
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], edx
jmp 0x471b45
mov edx, dword [ebp + 0xc]
add edx, 2
push edx
push esi
push 0x49
mov eax, ebp
call fcn.0042e090
add esp, 0xc
push esi
push 0x15
mov eax, ebp
call fcn.0042e040
add esp, 8
jmp 0x471b4d
test byte [ebx + 0x22], 0x10
je 0x471b2e
push esi
push 0
push 0xa
mov eax, ebp
call fcn.0042e090
add esp, 0xc
jmp 0x471b4d
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
push eax
push esi
push ecx
push 0x36
mov eax, ebp
call fcn.0042df90
add esp, 0x10
mov dword [esp + 0x64], 1
mov eax, dword [esp + 0x34]
xor edi, edi
cmp eax, edi
jle 0x471b6d
mov edx, dword [esp + 0xa4]
push esi
push eax
mov eax, dword [edx + 0xc]
push 0x70
call fcn.0042e090
add esp, 0xc
cmp dword [ebx + 8], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edi
jle 0x471d83
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x34], 0
lea ebx, [ebx]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
cmp edi, dword [ecx + 4]
jne 0x471be0
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x471bb4
mov edi, ebp
call fcn.0042df10
test eax, eax
jne 0x471d67
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
xor ecx, ecx
mov byte [eax], 0xa
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov byte [ebp + 0x62], cl
jmp 0x471d67
mov esi, dword [esp + 0xb4]
test esi, esi
jne 0x471c5f
mov edx, dword [ecx + 0xc]
mov eax, dword [esp + 0x34]
cmp byte [edx + eax + 0x17], 0
je 0x471c57
inc dword [esp + 0x18]
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x34]
mov eax, dword [eax + ecx + 4]
test eax, eax
je 0x471d02
cmp byte [eax], 0x84
jne 0x471d02
mov edx, dword [eax + 0x18]
mov eax, dword [esp + 0xa4]
mov edi, dword [eax + 0xc]
mov esi, dword [edi + 0xc]
cmp dword [edi + 0x10], esi
mov dword [esp + 0x2c], edx
jg 0x471c3f
call fcn.0042df10
test eax, eax
jne 0x471d67
mov edx, dword [edi + 0x14]
inc dword [edi + 0xc]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x2c]
mov byte [eax], 0xe
jmp 0x471d50
mov eax, edi
sub eax, dword [esp + 0x18]
jmp 0x471c80
mov edx, dword [esi + 4]
xor eax, eax
test edx, edx
jle 0x471c88
mov ecx, dword [esi]
add ecx, 4
lea ecx, [ecx]
cmp dword [ecx], edi
je 0x471c7c
inc eax
add ecx, 8
cmp eax, edx
jl 0x471c70
mov ecx, dword [esp + 0x10]
test eax, eax
jl 0x471bfd
cmp dword [esp + 0x20], 0
je 0x471bfd
test esi, esi
je 0x471ca0
cmp eax, dword [esi + 4]
jge 0x471bfd
cmp dword [esp + 0x48], 0
je 0x471cbf
mov ecx, dword [esp + 0x30]
push ebx
push eax
push ecx
push 0x1c
mov eax, ebp
call fcn.0042df90
add esp, 0x10
jmp 0x471d67
cmp dword [esp + 0xb0], 0
je 0x471ce2
mov edx, dword [esp + 0x44]
add eax, edx
push ebx
push eax
push 0xf
mov eax, ebp
call fcn.0042e090
add esp, 0xc
jmp 0x471d67
mov ecx, dword [esp + 0xac]
mov edx, dword [ecx + 0xc]
mov ecx, dword [esp + 0xa4]
lea eax, [eax + eax*4]
mov eax, dword [edx + eax*4]
mov esi, ebx
call fcn.0042f6a0
jmp 0x471d67
mov edx, dword [esp + 0xa4]
push ebx
push eax
push edx
call fcn.00460bb0
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x2c], ecx
cmp ecx, ebx
je 0x471d67
mov eax, dword [esp + 0xa4]
mov edi, dword [eax + 0xc]
test edi, edi
je 0x471d67
mov esi, dword [edi + 0xc]
cmp dword [edi + 0x10], esi
jg 0x471d41
call fcn.0042df10
test eax, eax
jne 0x471d67
mov ecx, dword [esp + 0x2c]
mov eax, dword [edi + 0x14]
inc dword [edi + 0xc]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0xf
mov dword [eax + 4], ecx
xor ecx, ecx
mov byte [eax + 3], cl
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov byte [edi + 0x62], cl
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
add dword [esp + 0x34], 0x18
inc eax
inc ebx
cmp eax, dword [ecx + 8]
mov dword [esp + 0x14], eax
jl 0x471b90
mov esi, dword [esp + 0x10]
test byte [esi + 0x22], 0x10
je 0x471e7b
mov eax, dword [esi + 0x34]
mov dword [esp + 0x44], eax
test eax, eax
je 0x471daf
mov ecx, dword [esp + 0x40]
cmp dword [eax], ecx
je 0x471dab
mov eax, dword [eax + 0x10]
test eax, eax
jne 0x471da0
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xa4]
push esi
call fcn.00431240
mov ebx, dword [esi + 8]
mov esi, dword [ebp + 0xc]
add esp, 4
add ebx, 2
cmp dword [ebp + 0x10], esi
jg 0x471ddf
mov edi, ebp
call fcn.0042df10
test eax, eax
je 0x471ddf
mov eax, 1
jmp 0x471e15
mov eax, dword [ebp + 0x14]
mov ecx, 1
add dword [ebp + 0xc], ecx
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x3c]
mov byte [eax], 0x85
mov byte [eax + 3], 0
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], 0
mov byte [eax + 1], 0
mov byte [ebp + 0x62], 0
mov eax, esi
mov esi, dword [ebp + 0x14]
mov edi, dword [ebp]
xor ebx, ebx
cmp esi, ebx
je 0x471e5f
cmp byte [edi + 0x1e], bl
jne 0x471e5f
cmp eax, ebx
jge 0x471e2e
mov eax, dword [ebp + 0xc]
dec eax
lea edx, [eax + eax*4]
movsx eax, byte [esi + edx*4 + 1]
mov ecx, dword [esi + edx*4 + 0x10]
lea esi, [esi + edx*4]
call fcn.0042e240
mov eax, dword [esp + 0x44]
mov dword [esi + 0x10], ebx
cmp eax, ebx
jne 0x471e55
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x471e5f
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xf6
inc dword [eax + 0xc]
mov ecx, dword [esp + 0xa4]
mov eax, dword [ecx + 0x1a8]
cmp eax, ebx
jne 0x471e72
mov eax, ecx
mov byte [eax + 0x159], 1
jmp 0x471eec
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xb8]
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0xa4]
lea eax, [esp + 0x3c]
push eax
xor eax, eax
cmp dword [esp + 0x50], eax
push ecx
mov ecx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x44]
setge al
push 0
push eax
push ecx
push edi
push edx
push esi
push ebx
call fcn.0045ee40
push edi
push 0
push esi
push ebx
call fcn.0046bfb0
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x94]
xor eax, eax
cmp dword [esp + 0x74], eax
sete al
push eax
mov eax, dword [esp + 0x74]
push ecx
push 0
push edx
push edi
push eax
push esi
push ebx
call fcn.004403e0
add esp, 0x58
mov ecx, dword [esp + 0x40]
test dword [ecx + 0xc], 0x1000
je 0x471f40
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x471f0c
mov edi, ebp
call fcn.0042df10
test eax, eax
jne 0x471f40
mov eax, dword [ebp + 0x14]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x68]
mov ecx, 1
add dword [ebp + 0xc], ecx
xor esi, esi
mov byte [eax], 0x14
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [eax + 1], 0
mov byte [ebp + 0x62], 0
jmp 0x471f42
xor esi, esi
mov ecx, dword [esp + 0x54]
cmp ecx, esi
je 0x471f7d
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0xb8]
push eax
mov eax, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x18]
sub eax, dword [edx + 8]
sub eax, 2
push eax
mov eax, dword [esp + 0xb0]
push edx
push 2
push esi
push 0x69
push ecx
push eax
call fcn.00477040
add esp, 0x24
mov eax, dword [ebp + 0x20]
cmp eax, esi
je 0x471f96
mov ecx, dword [esp + 0x1c]
lea edx, [ecx*4 + 4]
mov ecx, dword [ebp + 0xc]
sub eax, edx
mov dword [eax], ecx
cmp dword [esp + 0x48], esi
je 0x47203b
mov ebx, dword [ebp + 0xc]
cmp dword [ebp + 0x10], ebx
jg 0x471fb3
mov edi, ebp
call fcn.0042df10
test eax, eax
jne 0x471fe2
mov eax, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov ecx, dword [esp + 0x30]
lea edx, [ebx + ebx*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x60]
mov byte [eax], 0x43
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [eax + 1], 0
mov byte [ebp + 0x62], 0
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x50]
cmp eax, ecx
jle 0x471ff7
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov ebx, dword [ebp + 0xc]
cmp dword [ebp + 0x10], ebx
jg 0x47200e
mov edi, ebp
call fcn.0042df10
test eax, eax
jne 0x472097
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x30]
lea eax, [ebx + ebx*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x2b
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [eax + 1], 0
mov byte [ebp + 0x62], 0
jmp 0x472097
cmp dword [esp + 0xb0], esi
je 0x472097
mov ebx, dword [ebp + 0xc]
cmp dword [ebp + 0x10], ebx
jg 0x472057
mov edi, ebp
call fcn.0042df10
test eax, eax
jne 0x472082
mov ecx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
mov edx, dword [esp + 0x60]
lea eax, [ebx + ebx*4]
lea eax, [ecx + eax*4]
mov byte [eax], 1
mov byte [eax + 3], 0
mov dword [eax + 4], esi
mov dword [eax + 8], edx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], esi
mov byte [eax + 1], 0
mov byte [ebp + 0x62], 0
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x50]
cmp eax, ecx
jle 0x472097
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [esp + 0x10]
test byte [eax + 0x22], 0x10
jne 0x472152
cmp dword [esp + 0x58], 0
jne 0x472152
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4720c3
mov edi, ebp
call fcn.0042df10
test eax, eax
jne 0x4720ef
mov edx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov edx, dword [esp + 0x38]
xor ecx, ecx
mov byte [eax], 0x2b
mov byte [eax + 3], cl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov byte [ebp + 0x62], cl
jmp 0x4720f1
xor ecx, ecx
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x28], eax
cmp eax, ecx
je 0x472152
mov ebx, dword [esp + 0x38]
inc ebx
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x472118
mov edi, ebp
call fcn.0042df10
test eax, eax
jne 0x472140
mov edx, dword [ebp + 0x14]
inc dword [ebp + 0xc]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
xor ecx, ecx
mov byte [eax], 0x2b
mov byte [eax + 3], cl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov byte [ebp + 0x62], cl
jmp 0x472142
xor ecx, ecx
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x20]
inc ebx
mov dword [esp + 0x28], eax
cmp eax, ecx
jne 0x472105
mov edi, dword [esp + 0xa4]
cmp byte [edi + 0x13], 0
jne 0x472171
cmp dword [edi + 0x1ac], 0
jne 0x472171
push edi
call fcn.0043fff0
add esp, 4
mov ecx, dword [esp + 0x40]
test dword [ecx + 0xc], 0x1000
je 0x4721ff
cmp byte [edi + 0x13], 0
jne 0x4721ff
cmp dword [edi + 0x1ac], 0
jne 0x4721ff
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x4721a4
mov edi, ebp
call fcn.0042df10
test eax, eax
jne 0x4721d4
mov eax, dword [ebp + 0x14]
mov ecx, 1
add dword [ebp + 0xc], ecx
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x68]
mov dword [eax + 8], ecx
xor ecx, ecx
mov byte [eax], 0x10
mov byte [eax + 3], 0
mov dword [eax + 4], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov byte [ebp + 0x62], cl
push 1
mov edi, ebp
call fcn.00434a80
mov eax, dword [ebp]
add esp, 4
cmp byte [eax + 0x1e], 0
jne 0x4721ff
mov ecx, dword [ebp + 0x28]
push 1
push 0xffffffffffffffff
xor eax, eax
mov ebx, str.rows_inserted
call fcn.0043c7a0
add esp, 8
mov ecx, dword [esp + 0xa8]
mov esi, dword [esp + 0x40]
push ecx
call fcn.004275a0
mov edx, dword [esp + 0xb0]
push edx
mov edi, esi
call fcn.004269d0
mov edi, dword [esp + 0xb8]
add esp, 8
test edi, edi
je 0x47223e
push edi
push esi
call fcn.00428010
push edi
push esi
call fcn.00420620
add esp, 0x10
mov ebp, dword [esp + 0xb4]
test ebp, ebp
je 0x47227a
xor ebx, ebx
cmp dword [ebp + 4], ebx
jle 0x472266
mov eax, dword [ebp]
mov ecx, dword [eax + ebx*8]
push ecx
push esi
call fcn.00420620
inc ebx
add esp, 8
cmp ebx, dword [ebp + 4]
jl 0x472250
mov edx, dword [ebp]
push edx
push esi
call fcn.00420620
push ebp
push esi
call fcn.00420620
add esp, 0x10
mov eax, dword [esp + 0x5c]
push eax
push esi
call fcn.00420620
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x90
ret