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

Disassembly:
sub esp, 0x94
mov eax, dword [esp + 0x9c]
push ebx
push ebp
mov ebp, dword [esp + 0xa0]
mov edx, dword [ebp]
xor ecx, ecx
push edi
xor edi, edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x3c], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x24], edx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
cmp dword [ebp + 0x40], edi
jne 0x471784
cmp byte [edx + 0x1e], cl
jne 0x471784
cmp dword [eax + 0xc], edi
je 0x471784
push ebp
call fcn.0046cae0
mov ebx, eax
add esp, 4
mov dword [esp + 0xc], ebx
cmp ebx, edi
je 0x471784
mov ecx, dword [esp + 0x24]
push esi
mov esi, dword [ebx + 0x44]
call fcn.00435200
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 8]
mov esi, eax
shl eax, 4
mov eax, dword [eax + edx]
push eax
mov eax, dword [ebx]
push edi
push eax
push 0x12
mov eax, ebp
mov dword [esp + 0x30], esi
call fcn.00441440
add esp, 0x10
test eax, eax
jne 0x471783
lea ecx, [esp + 0x48]
push ecx
push edi
push 0x69
mov edx, ebx
mov eax, ebp
call fcn.00435880
xor edx, edx
cmp dword [ebx + 0x1c], edi
push ebx
setne dl
push ebp
mov dword [esp + 0x64], eax
mov dword [esp + 0x6c], edx
call fcn.00470860
add esp, 0x14
test eax, eax
jne 0x471783
mov eax, dword [esp + 0x48]
push eax
mov edx, ebx
mov eax, ebp
call fcn.004422a0
add esp, 4
test eax, eax
jne 0x471783
mov edi, ebp
call fcn.004435d0
mov edi, eax
mov dword [esp + 0x44], edi
test edi, edi
je 0x471783
cmp byte [ebp + 0x13], 0
jne 0x470aed
call fcn.00433280
cmp dword [esp + 0xb4], 0
jne 0x470b02
cmp dword [esp + 0x50], 0
jne 0x470b02
xor eax, eax
jmp 0x470b07
mov eax, 1
push eax
mov ecx, esi
mov eax, ebp
call fcn.0045f790
add esp, 4
cmp dword [esp + 0xb8], 0
jne 0x470b40
mov ecx, dword [esp + 0xbc]
mov eax, dword [esp + 0xb4]
push esi
push ecx
push ebx
push ebp
call fcn.0046ced0
add esp, 0x10
test eax, eax
jne 0x47171c
mov edx, esi
push edx
mov edx, ebp
call fcn.0043c390
mov esi, dword [esp + 0xb8]
add esp, 4
mov dword [esp + 0x2c], eax
test esi, esi
je 0x470d2a
mov ebx, 1
add dword [ebp + 0x48], ebx
mov eax, dword [ebp + 0x48]
push edi
xor ecx, ecx
lea edx, [ebx + 6]
mov dword [esp + 0x18], eax
call fcn.0043a030
add dword [ebp + 0x48], ebx
mov edx, dword [ebp + 0x48]
push 0xa
lea eax, [esp + 0x78]
call fcn.00435290
mov eax, edi
call fcn.00432ae0
mov ebx, eax
mov eax, dword [esp + 0x7c]
add ebx, 2
lea ecx, [ebx - 1]
push edi
mov edx, 7
call fcn.0043a030
xor eax, eax
push edi
xor ecx, ecx
lea edx, [eax + 1]
call fcn.0043a030
mov dword [esp + 0x48], eax
lea eax, [esp + 0x80]
push eax
push esi
push ebp
call fcn.0046da00
add esp, 0x1c
test eax, eax
jne 0x471783
cmp dword [ebp + 0x40], eax
jne 0x471783
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 0x1e], al
jne 0x471783
mov eax, dword [esp + 0x14]
mov ecx, 1
push edi
lea edx, [ecx + 6]
call fcn.0043a030
mov eax, dword [esp + 0x78]
push edi
mov ecx, 4
call fcn.0043a010
mov eax, 2
push edi
mov ecx, eax
lea edx, [eax + 4]
call fcn.0043a030
mov eax, dword [esp + 0x44]
add esp, 0xc
mov ecx, edi
call fcn.00432b40
cmp dword [esp + 0x50], 0
mov eax, dword [esi]
mov edx, dword [esp + 0x78]
mov ecx, dword [eax]
mov dword [esp + 0x68], edx
mov dword [esp + 0x34], ecx
jne 0x470c5e
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
push edx
push eax
mov eax, ebx
mov ecx, ebp
call fcn.00448b40
add esp, 8
test eax, eax
je 0x470dd1
mov esi, dword [ebp + 0x44]
lea ecx, [esi + 1]
mov eax, ebp
mov dword [esp + 0x40], 1
mov dword [esp + 0x30], esi
mov dword [ebp + 0x44], ecx
call fcn.00434240
mov ebx, eax
mov eax, ebp
call fcn.00434240
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x34]
push edi
mov ecx, esi
mov edx, 0x2a
call fcn.0043a030
mov eax, dword [esp + 0x78]
push edi
mov ecx, 4
call fcn.0043a010
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x1c]
push edi
mov ecx, 0x1b
call fcn.0043a010
mov edx, dword [esp + 0x40]
push ebx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x88]
push edx
push eax
push 0x1f
mov eax, edi
call fcn.00439f90
mov eax, dword [esp + 0x38]
push edi
mov ecx, esi
mov edx, 0x38
call fcn.0043a030
mov ecx, dword [esp + 0x3c]
push ecx
push ebx
push esi
push 0x39
mov eax, edi
call fcn.00439f90
mov eax, dword [esp + 0x68]
xor ecx, ecx
push edi
lea edx, [ecx + 1]
call fcn.0043a030
mov eax, dword [esp + 0x54]
add esp, 0x34
mov ecx, edi
call fcn.00432b40
mov esi, ebx
mov edx, ebp
call fcn.00434260
mov esi, dword [esp + 0x1c]
call fcn.00434260
jmp 0x470dd1
xor eax, 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 dword [esp + 0xa0], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x80], ebp
mov dword [esp + 0x30], 0xffffffff
test eax, eax
je 0x470d89
mov eax, dword [eax]
jmp 0x470d8b
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x34], eax
test eax, eax
jle 0x470dd1
mov dword [esp + 0x1c], ebx
lea esp, [esp]
mov edx, dword [esp + 0xb0]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x1c]
mov edi, dword [ecx + eax]
lea esi, [esp + 0x80]
call fcn.0044d500
test eax, eax
jne 0x471783
add dword [esp + 0x1c], 0x14
inc ebx
cmp ebx, dword [esp + 0x34]
jl 0x470da0
mov ebx, dword [esp + 0x10]
test byte [ebx + 0x22], 0x10
je 0x470e3d
mov ecx, dword [ebx + 8]
xor esi, esi
xor edi, edi
xor edx, edx
cmp ecx, 2
jl 0x470e17
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 0x470df8
mov ebx, dword [esp + 0x10]
cmp edx, dword [ebx + 8]
jge 0x470e33
mov eax, dword [ebx + 0xc]
xor ecx, ecx
lea edx, [edx + edx*2]
cmp byte [eax + edx*8 + 0x17], cl
setne cl
add edi, esi
mov edx, ecx
add edx, edi
jmp 0x470e41
mov edx, dword [esp + 0x18]
add edi, esi
add edx, edi
jmp 0x470e41
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0xb8]
test ecx, ecx
jne 0x470e82
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x470f9a
mov eax, dword [ebx + 8]
sub eax, edx
cmp ecx, eax
je 0x470f8f
mov edx, dword [esp + 0xac]
push ecx
push eax
push 0
push edx
push str.table__S_has__d_columns_but__d_values_were_supplied
mov edi, ebp
call fcn.0043e7b0
jmp 0x471780
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x34]
cmp eax, edx
je 0x470ea3
push edx
push eax
push str._d_values_for__d_columns
mov edi, ebp
call fcn.0043e7b0
add esp, 0xc
jmp 0x471783
xor eax, eax
test edx, edx
jle 0x470ebc
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 0x470eb0
cmp dword [ecx + 4], 0
mov dword [esp + 0x24], 0
jle 0x470f9a
mov edi, edi
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 8]
xor esi, esi
test ebx, ebx
jle 0x470f31
mov ecx, dword [esp + 0xb8]
mov edx, dword [ecx]
mov eax, dword [esp + 0x24]
mov ecx, dword [edx + eax*8]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x10]
mov edi, dword [edx + 0xc]
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], ecx
nop
mov edx, dword [edi]
mov ecx, dword [esp + 0x38]
call fcn.0042dbb0
test eax, eax
je 0x470f19
inc esi
add edi, 0x18
cmp esi, ebx
jl 0x470f00
jmp 0x470f31
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
mov dword [eax + 4], esi
cmp esi, dword [ecx + 4]
jne 0x470f31
mov edx, dword [esp + 0x24]
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0x10]
cmp esi, dword [eax + 8]
mov ebx, dword [esp + 0xb8]
mov edi, dword [esp + 0x24]
jl 0x470f57
mov ecx, dword [ebx]
mov esi, dword [ecx + edi*8]
call fcn.00433f10
test eax, eax
je 0x470f67
mov dword [esp + 0x4c], edi
inc edi
cmp edi, dword [ebx + 4]
mov dword [esp + 0x24], edi
jl 0x470ed0
jmp 0x470f9a
mov edx, dword [ebx]
mov eax, dword [edx + edi*8]
mov ecx, dword [esp + 0xac]
push eax
push 0
push ecx
push str.table__S_has_no_column_named__s
mov edi, ebp
call fcn.0043e7b0
add esp, 0x10
mov byte [ebp + 0x12], 1
jmp 0x471783
test ecx, ecx
jle 0x470f9a
mov edx, dword [ebx + 4]
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0x28]
test dword [eax + 0xc], 0x1000
mov ebx, dword [esp + 0x44]
je 0x470fc3
inc dword [ebp + 0x48]
mov eax, dword [ebp + 0x48]
xor ecx, ecx
push ebx
lea edx, [ecx + 7]
mov dword [esp + 0x64], eax
call fcn.0043a030
add esp, 4
cmp dword [esp + 0x58], 0
jne 0x47101f
mov eax, dword [ebp + 0x44]
mov ecx, dword [esp + 0x10]
push 0x28
push eax
push ecx
push ebp
mov dword [esp + 0x4c], eax
call fcn.0044f510
mov esi, dword [esp + 0x38]
mov edi, eax
add esp, 0x10
lea ecx, [edi*4 + 4]
call fcn.00437860
mov dword [esp + 0x6c], eax
test eax, eax
je 0x471783
xor ecx, ecx
test edi, edi
jle 0x47101f
mov esi, 1
jmp 0x471010
add dword [ebp + 0x48], esi
mov edx, dword [ebp + 0x48]
mov dword [eax + ecx*4], edx
add ecx, esi
cmp ecx, edi
jl 0x471010
cmp dword [esp + 0x40], 0
je 0x471049
mov eax, dword [esp + 0x30]
push ebx
mov ecx, 0x48
call fcn.0043a010
mov dword [esp + 0x58], eax
add esp, 4
mov eax, ebx
call fcn.00432ae0
mov dword [esp + 0x5c], eax
jmp 0x47107c
cmp dword [esp + 0xb4], 0
je 0x47107c
mov eax, dword [esp + 0x74]
push ebx
mov ecx, 4
call fcn.0043a010
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x18]
push ebx
mov ecx, 0x1b
call fcn.0043a010
add esp, 8
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0x48]
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 8]
lea ecx, [eax + 1]
lea eax, [eax + esi + 1]
mov dword [ebp + 0x48], eax
test byte [edx + 0x22], 0x10
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], ecx
je 0x4710a7
inc ecx
inc eax
mov dword [esp + 0x18], ecx
mov dword [ebp + 0x48], eax
inc ecx
mov eax, ebx
mov dword [esp + 0x38], ecx
call fcn.0043a050
test byte [esp + 0x48], 1
mov dword [esp + 0x1c], eax
je 0x4712a4
mov edi, dword [esp + 0x10]
mov esi, dword [edi + 8]
inc esi
mov ecx, ebp
call fcn.00434290
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4c]
test eax, eax
jge 0x4710f2
mov eax, dword [esp + 0x14]
or ecx, 0xffffffff
push ebx
lea edx, [ecx + 8]
call fcn.0043a030
add esp, 4
jmp 0x471169
cmp dword [esp + 0x40], 0
je 0x471112
mov edx, dword [esp + 0x14]
push edx
push eax
mov eax, dword [esp + 0x38]
push eax
push 0x1d
mov eax, ebx
call fcn.00439f90
add esp, 0x10
jmp 0x47112d
mov edx, dword [esp + 0xb0]
mov esi, dword [esp + 0x14]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + ecx*4]
mov eax, ebp
call fcn.0043b460
mov eax, dword [esp + 0x14]
push ebx
mov ecx, 0x4a
call fcn.0043a010
or ecx, 0xffffffff
mov esi, eax
mov eax, dword [esp + 0x18]
push ebx
lea edx, [ecx + 8]
call fcn.0043a030
mov eax, esi
mov ecx, ebx
call fcn.00432b40
mov eax, dword [esp + 0x1c]
push ebx
mov ecx, 0x15
call fcn.0043a010
add esp, 0xc
cmp dword [edi + 8], 0
mov dword [esp + 0x24], 0
jle 0x471243
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
inc esi
mov dword [esp + 0x48], 0
lea esp, [esp]
mov ecx, dword [esp + 0xb8]
test ecx, ecx
je 0x4711c0
mov edx, dword [ecx + 4]
xor eax, eax
test edx, edx
jle 0x4711c0
mov ecx, dword [ecx]
mov edi, dword [esp + 0x24]
add ecx, 4
lea ecx, [ecx]
cmp dword [ecx], edi
je 0x4711bc
inc eax
add ecx, 8
cmp eax, edx
jl 0x4711b0
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x40]
test edx, edx
jne 0x4711d1
cmp dword [esp + 0xb0], edx
je 0x4711e1
mov ecx, dword [esp + 0xb8]
test ecx, ecx
je 0x4711f5
cmp eax, dword [ecx + 4]
jl 0x4711f5
mov edx, dword [edi + 0xc]
mov eax, dword [esp + 0x48]
mov ecx, dword [edx + eax + 4]
mov eax, ebp
call fcn.0043b460
jmp 0x47122b
test edx, edx
je 0x47120e
mov ecx, dword [esp + 0x30]
push esi
push eax
push ecx
push 0x1d
mov eax, ebx
call fcn.00439f90
add esp, 0x10
jmp 0x47122b
lea edx, [eax + eax*4]
mov eax, dword [esp + 0xb0]
mov eax, dword [eax + 0xc]
mov edi, dword [eax + edx*4]
mov ecx, esi
mov eax, ebp
call fcn.0043b4c0
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
add dword [esp + 0x48], 0x18
inc eax
inc esi
cmp eax, dword [edi + 8]
mov dword [esp + 0x24], eax
jl 0x471190
cmp dword [esp + 0x58], 0
jne 0x47126a
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 8]
inc ecx
push ebx
mov edx, 0x1e
call fcn.0043a030
push ebx
call fcn.0043c320
add esp, 8
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
sub eax, dword [edi + 8]
mov edx, dword [esp + 0xbc]
push ecx
mov ecx, dword [esp + 0x54]
push edx
dec eax
push eax
push edi
push 1
push 0
push 0x69
push ecx
push ebp
call fcn.00474820
mov esi, dword [edi + 8]
mov ecx, dword [esp + 0x38]
add esp, 0x24
inc esi
mov eax, ebp
call fcn.004342c0
cmp dword [esp + 0x58], 0
jne 0x471615
mov edi, dword [esp + 0x10]
test byte [edi + 0x22], 0x10
je 0x4712cb
mov eax, dword [esp + 0x20]
xor ecx, ecx
push ebx
lea edx, [ecx + 0xa]
call fcn.0043a030
add esp, 4
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x18]
test eax, eax
jl 0x4713cf
cmp dword [esp + 0x40], 0
je 0x471333
mov edx, dword [esp + 0x30]
push esi
push eax
push edx
push 0x1d
mov eax, ebx
call fcn.00439f90
add esp, 0x10
test byte [edi + 0x22], 0x10
jne 0x4713a3
push ebx
mov eax, esi
mov ecx, 0x4a
call fcn.0043a010
mov edx, dword [esp + 0x30]
push edx
mov edi, eax
mov eax, dword [esp + 0x44]
push esi
push eax
push 0x38
mov eax, ebx
call fcn.00439f90
add esp, 0x14
mov eax, edi
mov ecx, ebx
call fcn.00432b40
jmp 0x4713bd
cmp dword [esp + 0xb4], 0
je 0x471355
mov ecx, dword [esp + 0x68]
add ecx, eax
push ebx
mov eax, esi
mov edx, 0xf
call fcn.0043a030
add esp, 4
jmp 0x4712f5
lea edx, [eax + eax*4]
mov eax, dword [esp + 0xb0]
mov ecx, dword [eax + 0xc]
mov ecx, dword [ecx + edx*4]
mov eax, ebp
call fcn.0043b460
or eax, 0xffffffff
mov ecx, ebx
call fcn.00432b80
test eax, eax
je 0x4712f5
cmp byte [eax], 0xa
jne 0x4712f5
test byte [edi + 0x22], 0x10
jne 0x4713a3
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
mov byte [eax], 0x38
mov dword [eax + 4], edx
mov dword [eax + 8], esi
mov dword [eax + 0xc], ecx
jmp 0x4713fe
mov eax, ebx
call fcn.00432ae0
add eax, 2
push ebx
mov ecx, esi
mov edx, 0x49
call fcn.0043a030
add esp, 4
push ebx
mov eax, esi
mov ecx, 0x15
call fcn.0043a010
add esp, 4
jmp 0x471406
test byte [edi + 0x22], 0x10
je 0x4713e7
xor ecx, ecx
push ebx
mov eax, esi
lea edx, [ecx + 0xa]
call fcn.0043a030
add esp, 4
jmp 0x471406
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
push ecx
push esi
push edx
push 0x38
mov eax, ebx
call fcn.00439f90
add esp, 0x10
mov dword [esp + 0x64], 1
mov ecx, dword [esp + 0x2c]
push esi
mov eax, ebp
call fcn.0043c400
mov eax, dword [esp + 0x14]
xor edi, edi
add esp, 4
cmp dword [eax + 8], edi
mov dword [esp + 0x18], edi
jle 0x471492
mov esi, dword [esp + 0x38]
mov dword [esp + 0x2c], edi
lea esp, [esp]
mov ecx, dword [esp + 0xb8]
cmp edi, dword [eax + 4]
jne 0x47144e
xor ecx, ecx
push ebx
mov eax, esi
lea edx, [ecx + 0xa]
call fcn.0043a030
add esp, 4
jmp 0x471482
test ecx, ecx
jne 0x471503
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x2c]
cmp byte [ecx + edx + 0x17], 0
je 0x4714fb
inc dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x2c]
mov ecx, dword [eax + ecx + 4]
mov eax, ebp
call fcn.0043b460
mov eax, dword [esp + 0x10]
add dword [esp + 0x2c], 0x18
inc edi
inc esi
cmp edi, dword [eax + 8]
jl 0x471430
test byte [eax + 0x22], 0x10
je 0x4715a4
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, edi
call fcn.004359b0
mov esi, eax
mov eax, ebp
call fcn.0043c920
mov ecx, dword [edi + 8]
mov eax, dword [esp + 0x20]
push 0xfffffffffffffff6
push esi
add ecx, 2
push 0x8c
mov edx, 1
mov edi, ebx
call fcn.004400c0
mov eax, dword [esp + 0xc8]
add esp, 0xc
cmp eax, 0x63
jne 0x4714e6
mov eax, 2
mov dl, al
mov eax, ebx
call fcn.00432b20
mov ecx, ebp
call fcn.00434920
jmp 0x471615
mov eax, edi
sub eax, dword [esp + 0x18]
jmp 0x471524
mov edx, dword [ecx + 4]
xor eax, eax
test edx, edx
jle 0x471533
mov ecx, dword [esp + 0xb8]
mov ecx, dword [ecx]
add ecx, 4
cmp dword [ecx], edi
je 0x471524
inc eax
add ecx, 8
cmp eax, edx
jl 0x471518
test eax, eax
jl 0x47146c
mov ecx, dword [esp + 0xb8]
cmp dword [esp + 0x34], 0
je 0x47146c
test ecx, ecx
je 0x47154b
cmp eax, dword [ecx + 4]
jge 0x47146c
cmp dword [esp + 0x40], 0
je 0x47156a
mov edx, dword [esp + 0x30]
push esi
push eax
push edx
push 0x1d
mov eax, ebx
call fcn.00439f90
add esp, 0x10
jmp 0x471482
cmp dword [esp + 0xb4], 0
je 0x47158f
mov ecx, dword [esp + 0x68]
add ecx, eax
push ebx
mov eax, esi
mov edx, 0xf
call fcn.0043a030
add esp, 4
jmp 0x471482
lea edx, [eax + eax*4]
mov eax, dword [esp + 0xb0]
mov ecx, dword [eax + 0xc]
mov ecx, dword [ecx + edx*4]
jmp 0x47147b
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xbc]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x20]
lea edx, [esp + 0x20]
push edx
xor edx, edx
cmp dword [esp + 0x50], edx
push eax
mov eax, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x1c]
setge dl
push 0
push edx
push esi
push edi
push eax
push ecx
push ebp
call fcn.00461440
mov edx, dword [esp + 0x38]
push edi
push 0
push edx
mov eax, ebp
call fcn.0046cb40
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x70]
xor eax, eax
cmp dword [esp + 0x54], eax
sete al
push eax
mov eax, dword [esp + 0x48]
push ecx
push 0
push edi
push edx
push eax
push ebp
mov eax, esi
call fcn.00448e50
add esp, 0x50
mov ecx, dword [esp + 0x28]
test dword [ecx + 0xc], 0x1000
je 0x471637
mov ecx, dword [esp + 0x60]
mov eax, 1
push ebx
lea edx, [eax + 0x13]
call fcn.0043a030
add esp, 4
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x10]
test ecx, ecx
je 0x47166c
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0xbc]
push edx
push eax
mov eax, dword [esp + 0x40]
sub eax, dword [esi + 8]
sub eax, 2
push eax
push esi
push 2
push 0
push 0x69
push ecx
push ebp
call fcn.00474820
add esp, 0x24
mov edx, dword [esp + 0x1c]
mov ecx, ebx
call fcn.00432ab0
cmp dword [esp + 0x40], 0
je 0x4716b0
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x5c]
push ebx
mov ecx, edi
mov edx, 0x5f
call fcn.0043a030
mov eax, dword [esp + 0x58]
mov ecx, ebx
call fcn.00432b40
push ebx
mov eax, edi
mov ecx, 0x2d
call fcn.0043a010
add esp, 8
jmp 0x4716d7
cmp dword [esp + 0xb4], 0
je 0x4716d7
mov eax, dword [esp + 0x5c]
xor ecx, ecx
push ebx
lea edx, [ecx + 1]
call fcn.0043a030
mov eax, dword [esp + 0x58]
add esp, 4
mov ecx, ebx
call fcn.00432b40
test byte [esi + 0x22], 0x10
jne 0x471718
cmp dword [esp + 0x58], 0
jne 0x471718
mov edi, dword [esp + 0x3c]
push ebx
mov eax, edi
mov ecx, 0x2d
call fcn.0043a010
mov esi, dword [esi + 0x10]
add esp, 4
test esi, esi
je 0x471718
inc edi
push ebx
mov eax, edi
mov ecx, 0x2d
call fcn.0043a010
mov esi, dword [esi + 0x20]
add esp, 4
inc edi
test esi, esi
jne 0x471700
mov edi, dword [esp + 0x44]
cmp byte [ebp + 0x13], 0
jne 0x471734
cmp dword [ebp + 0x1ac], 0
jne 0x471734
push ebp
call fcn.00448cf0
add esp, 4
mov ecx, dword [esp + 0x28]
test dword [ecx + 0xc], 0x1000
je 0x471783
cmp byte [ebp + 0x13], 0
jne 0x471783
cmp dword [ebp + 0x1ac], 0
jne 0x471783
mov ecx, dword [esp + 0x60]
mov eax, 1
push edi
lea edx, [eax + 0xf]
call fcn.0043a030
mov eax, 1
mov esi, edi
call fcn.00440430
push 0
push str.rows_inserted
push 0
push 0
mov ecx, edi
call fcn.00446c40
add esp, 0x14
pop esi
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x24]
push edx
mov eax, ebx
call fcn.00434840
mov eax, dword [esp + 0xb0]
push eax
mov edi, ebx
call fcn.00433c40
mov ecx, dword [esp + 0xb8]
push ecx
push ebx
call fcn.004352b0
mov edi, dword [esp + 0xc4]
call fcn.00434750
mov edx, dword [esp + 0x78]
push edx
push ebx
call fcn.0042d860
add esp, 0x18
pop edi
pop ebp
pop ebx
add esp, 0x94
ret