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

Disassembly:
sub esp, 0x94
push ebx
xor ebx, ebx
push ebp
or eax, 0xffffffff
push esi
mov esi, dword [esp + 0xa4]
cmp dword [esi + 0x40], ebx
mov ebp, dword [esi]
mov dword [esp + 0x28], eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], ebp
jne 0x1003c078
cmp byte [ebp + 0x1e], bl
jne 0x1003c078
cmp dword [eax + 0xc], ebx
je 0x1003c078
push edi
push eax
push esi
call fcn.1002f870
mov edi, eax
add esp, 8
cmp edi, ebx
mov dword [esp + 0x18], edi
je 0x1003c077
mov eax, dword [edi + 0x4c]
push eax
push ebp
call fcn.10004300
mov edx, dword [ebp + 8]
lea ecx, [eax + eax*2]
mov dword [esp + 0x54], eax
mov eax, dword [edx + ecx*8]
push eax
mov eax, dword [edi]
push ebx
push eax
push 0x12
push esi
call fcn.10025570
add esp, 0x1c
test eax, eax
jne 0x1003c077
push ebx
push 0x65
push edi
push esi
call fcn.1002eca0
xor ecx, ecx
cmp dword [edi + 0x18], ebx
push eax
setne cl
push edi
push esi
mov dword [esp + 0x58], eax
mov dword [esp + 0x74], ecx
call fcn.1002f8d0
add esp, 0x1c
test eax, eax
jne 0x1003c077
push edi
push esi
call fcn.10012ca0
add esp, 8
test eax, eax
jne 0x1003c077
push esi
call fcn.10028130
mov ebp, eax
add esp, 4
cmp ebp, ebx
je 0x1003c077
cmp byte [esi + 0x13], bl
jne 0x1003b47d
push ebp
call fcn.10016720
add esp, 4
cmp dword [esp + 0xb4], ebx
jne 0x1003b490
cmp dword [esp + 0x3c], ebx
jne 0x1003b490
xor eax, eax
jmp 0x1003b495
mov eax, 1
mov edx, dword [esp + 0x4c]
push edx
push eax
push esi
call fcn.10012640
add esp, 0xc
cmp dword [esp + 0x3c], ebx
je 0x1003b4b7
mov eax, dword [esi + 0x44]
mov dword [esp + 0x48], eax
add eax, 1
mov dword [esi + 0x44], eax
cmp dword [esp + 0xb8], ebx
jne 0x1003b4e6
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xbc]
push eax
mov eax, dword [esp + 0xb8]
push ecx
push edi
push esi
call fcn.1003ae60
add esp, 0x10
test eax, eax
jne 0x1003c077
mov edx, dword [esp + 0x4c]
push edi
mov ecx, esi
call fcn.1003a3b0
add esp, 4
cmp dword [esp + 0xb4], ebx
mov dword [esp + 0x40], eax
je 0x1003b6a0
push ebx
push ebx
push 0x5b
push ebp
call fcn.10014a90
push ebp
mov dword [esp + 0x3c], eax
call fcn.10014c50
push ebp
mov dword [esp + 0x38], eax
call fcn.10014ab0
push eax
lea edx, [esp + 0xb0]
push 0xa
push edx
mov dword [esp + 0x38], eax
call fcn.10025d30
mov ecx, dword [esp + 0xd8]
push ebx
push ebx
push ebx
push ebx
lea eax, [esp + 0xc8]
push eax
push ecx
push esi
call fcn.100297d0
add esp, 0x40
test eax, eax
jne 0x1003c077
cmp dword [esi + 0x40], ebx
jne 0x1003c077
mov edx, dword [esp + 0x50]
cmp byte [edx + 0x1e], bl
jne 0x1003c077
mov eax, dword [esp + 0x9c]
push ebp
mov dword [esp + 0x64], eax
call fcn.10014ab0
push eax
push 0
push 0x5b
push ebp
mov dword [esp + 0x48], eax
call fcn.10014a90
mov ecx, dword [esp + 0xc8]
mov edx, dword [ecx]
mov ebx, dword [edx]
add esp, 0x14
cmp dword [esp + 0x3c], 0
mov dword [esp + 0x44], ebx
jne 0x1003b5c6
mov eax, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x24]
push ebp
call fcn.1003a320
add esp, 8
test eax, eax
je 0x1003b68d
mov eax, dword [esi + 0x44]
mov dword [esp + 0x24], eax
add eax, 1
push esi
mov dword [esp + 0x3c], 1
mov dword [esi + 0x44], eax
call fcn.1002b690
push esi
mov edi, eax
call fcn.1002b690
mov ecx, dword [esp + 0x1c]
push ecx
push ebp
mov ebx, eax
call fcn.10014b00
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x70]
push edi
push edx
push eax
push 0x55
push ebp
call fcn.100149c0
mov ecx, dword [esp + 0x48]
push ebx
push ecx
push 0x19
push ebp
call fcn.10014a90
mov edx, dword [esp + 0x58]
push ebx
push edi
push edx
push 0x69
push ebp
call fcn.100149c0
add esp, 0x48
push 0
push 0
push 0x18
push ebp
call fcn.10014a90
push edi
push esi
call fcn.1002b730
push ebx
push esi
call fcn.1002b730
mov eax, dword [esp + 0x48]
push eax
push ebp
call fcn.10014e10
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x4c]
push ecx
push edx
push 0x70
push ebp
call fcn.10014a90
mov eax, dword [esp + 0x58]
push eax
push 0
push 0x5b
push ebp
call fcn.10014a90
mov ecx, dword [esp + 0x7c]
add esp, 0x48
push ecx
push ebp
call fcn.10014b00
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x4c]
add esp, 8
jmp 0x1003b74b
mov edx, dword [esp + 0x28]
push edx
push ebp
call fcn.10014e10
add esp, 8
jmp 0x1003b74b
xor eax, eax
cmp dword [esp + 0xb0], ebx
mov dword [esp + 0x70], eax
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 + 0x70], esi
mov dword [esp + 0x24], 0xffffffff
je 0x1003b6f5
mov eax, dword [esp + 0xb0]
mov ebx, dword [eax]
jmp 0x1003b6f7
xor ebx, ebx
test ebx, ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x10], 0
jle 0x1003b74b
mov dword [esp + 0x18], 0
nop
mov ecx, dword [esp + 0xb0]
mov edx, dword [ecx + 0xc]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + edx]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.1002ced0
add esp, 8
test eax, eax
jne 0x1003c077
mov eax, dword [esp + 0x10]
add dword [esp + 0x18], 0xc
add eax, 1
cmp eax, ebx
mov dword [esp + 0x10], eax
jl 0x1003b710
cmp byte [edi + 0x39], 0
je 0x1003b777
mov ecx, dword [edi + 4]
test ecx, ecx
jle 0x1003b777
mov eax, dword [edi + 8]
add eax, 0x13
mov dword [esp + 0x28], ecx
xor ecx, ecx
cmp byte [eax], cl
setne cl
add eax, 0x14
add dword [esp + 0x1c], ecx
sub dword [esp + 0x28], 1
jne 0x1003b762
mov ecx, dword [esp + 0xb8]
test ecx, ecx
jne 0x1003b7b9
test ebx, ebx
je 0x1003b8dd
mov eax, dword [edi + 4]
mov edx, eax
sub edx, dword [esp + 0x1c]
cmp ebx, edx
je 0x1003b8d2
push ebx
push eax
mov eax, dword [esp + 0xb4]
push ecx
push eax
push str.table__S_has__d_columns_but__d_values_were_supplied
push esi
call fcn.100049d0
add esp, 0x18
jmp 0x1003c077
mov edx, dword [ecx + 4]
cmp ebx, edx
je 0x1003b7d5
push edx
push ebx
push str._d_values_for__d_columns
push esi
call fcn.100049d0
add esp, 0x10
jmp 0x1003c077
xor eax, eax
test edx, edx
jle 0x1003b7ee
or edx, 0xffffffff
mov edi, edi
mov ebx, dword [ecx]
mov dword [ebx + eax*8 + 4], edx
add eax, 1
cmp eax, dword [ecx + 4]
jl 0x1003b7e0
cmp dword [ecx + 4], 0
mov dword [esp + 0x10], 0
jle 0x1003b8dd
xor ebx, ebx
cmp dword [edi + 4], ebx
jle 0x1003b861
mov dword [esp + 0x18], ebx
jmp 0x1003b810
mov ecx, dword [edi + 8]
mov edx, dword [esp + 0x18]
mov eax, dword [edx + ecx]
mov ecx, dword [esp + 0xb8]
mov edx, dword [ecx]
push eax
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + eax*8]
push ecx
call fcn.10004b00
add esp, 8
test eax, eax
je 0x1003b847
add dword [esp + 0x18], 0x14
add ebx, 1
cmp ebx, dword [edi + 4]
jl 0x1003b810
jmp 0x1003b861
mov edx, dword [esp + 0xb8]
mov ecx, dword [edx]
mov eax, dword [esp + 0x10]
mov dword [ecx + eax*8 + 4], ebx
cmp ebx, dword [edi + 0xc]
jne 0x1003b861
mov dword [esp + 0x2c], eax
cmp ebx, dword [edi + 4]
jl 0x1003b887
mov edx, dword [esp + 0xb8]
mov eax, dword [edx]
mov ebx, dword [esp + 0x10]
mov ecx, dword [eax + ebx*8]
push ecx
call fcn.1002af20
add esp, 4
test eax, eax
je 0x1003b8a4
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xb8]
add eax, 1
cmp eax, dword [edx + 4]
mov dword [esp + 0x10], eax
jl 0x1003b800
jmp 0x1003b8dd
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax]
mov edx, dword [ecx + ebx*8]
mov eax, dword [esp + 0xac]
push edx
push 0
push eax
push str.table__S_has_no_column_named__s
push esi
call fcn.100049d0
add esp, 0x14
add dword [esi + 0x40], 1
jmp 0x1003c077
test ebx, ebx
jle 0x1003b8dd
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x2c], ecx
cmp dword [esp + 0x3c], 0
je 0x1003b904
mov edx, dword [edi + 4]
push edx
push 0
push 0x62
push ebp
call fcn.10014a90
mov eax, dword [esp + 0x58]
push 0
push eax
push 0x6f
push ebp
call fcn.10014a90
add esp, 0x20
mov ecx, dword [esp + 0x50]
test byte [ecx + 0xc], 0x80
je 0x1003b927
add dword [esi + 0x48], 1
mov eax, dword [esi + 0x48]
push eax
push 0
push 0x2f
push ebp
mov dword [esp + 0x6c], eax
call fcn.10014a90
add esp, 0x10
cmp dword [esp + 0x58], 0
jne 0x1003b981
mov eax, dword [esi + 0x44]
push 9
push eax
push edi
push esi
mov dword [esp + 0x40], eax
call fcn.1003ad50
mov ebx, eax
mov eax, dword [esp + 0x60]
lea edx, [ebx*4 + 4]
push edx
push eax
call fcn.10017ae0
add esp, 0x18
test eax, eax
mov dword [esp + 0x54], eax
je 0x1003c077
xor ecx, ecx
test ebx, ebx
jle 0x1003b981
jmp 0x1003b970
add dword [esi + 0x48], 1
mov edx, dword [esi + 0x48]
mov dword [eax + ecx*4], edx
add ecx, 1
cmp ecx, ebx
jl 0x1003b970
cmp dword [esp + 0x38], 0
je 0x1003b9b2
push ebp
call fcn.10014ab0
mov ecx, dword [esp + 0x28]
push eax
push ecx
push 0x74
push ebp
mov dword [esp + 0x80], eax
call fcn.10014a90
push ebp
call fcn.10014c50
mov dword [esp + 0x80], eax
jmp 0x1003b9d6
cmp dword [esp + 0xb4], 0
je 0x1003b9d9
mov edx, dword [esp + 0x20]
push edx
push 0
push 0x5b
push ebp
call fcn.10014a90
mov eax, dword [esp + 0x24]
push eax
push ebp
call fcn.10014b00
add esp, 0x18
add dword [esi + 0x48], 1
mov eax, dword [esi + 0x48]
mov ecx, dword [edi + 4]
lea ebx, [eax + 1]
lea eax, [ecx + eax + 1]
mov dword [esi + 0x48], eax
cmp byte [edi + 0x39], 0
mov dword [esp + 0x28], ebx
mov dword [esp + 0x10], ebx
je 0x1003ba08
add ebx, 1
add eax, 1
mov dword [esp + 0x10], ebx
mov dword [esi + 0x48], eax
push ebp
call fcn.10014ab0
add esp, 4
test byte [esp + 0x3c], 1
mov dword [esp + 0x18], eax
je 0x1003bbfe
push esi
call fcn.1002b690
mov ebx, eax
mov eax, dword [esp + 0x30]
add esp, 4
test eax, eax
mov dword [esp + 0x20], ebx
push ebx
jge 0x1003ba47
push 0xffffffffffffffff
push 0x2f
push ebp
call fcn.10014a90
add esp, 0x10
jmp 0x1003baa7
cmp dword [esp + 0x3c], 0
je 0x1003ba61
mov edx, dword [esp + 0x28]
push eax
push edx
push 3
push ebp
call fcn.100149c0
add esp, 0x14
jmp 0x1003baa7
mov ecx, dword [esp + 0xb4]
mov edx, dword [ecx + 0xc]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*4]
push eax
push esi
call fcn.1002b410
push ebx
push 0x42
push ebp
call fcn.10014a70
push ebx
push 0xffffffffffffffff
push 0x2f
push ebp
mov dword [esp + 0x3c], eax
call fcn.10014a90
mov ecx, dword [esp + 0x3c]
push ecx
push ebp
call fcn.10014e10
push ebx
push 0x25
push ebp
call fcn.10014a70
add esp, 0x3c
mov edx, dword [edi + 4]
push edx
push esi
call fcn.1002b750
xor ebx, ebx
add esp, 8
cmp dword [edi + 4], ebx
mov dword [esp + 0x1c], eax
jle 0x1003bb68
mov dword [esp + 0x14], ebx
jmp 0x1003bad0
mov ecx, dword [esp + 0xb8]
test ecx, ecx
jne 0x1003bafe
mov eax, ebx
mov ecx, dword [esp + 0x1c]
add ecx, ebx
cmp dword [esp + 0x38], 0
push ecx
je 0x1003bb3d
mov edx, dword [esp + 0x28]
push eax
push edx
push 3
push ebp
call fcn.100149c0
add esp, 0x14
jmp 0x1003bb57
mov edx, dword [ecx + 4]
xor eax, eax
test edx, edx
jle 0x1003bb1e
mov ecx, dword [ecx]
add ecx, 4
lea esp, [esp]
cmp dword [ecx], ebx
je 0x1003bb1e
add eax, 1
add ecx, 8
cmp eax, edx
jl 0x1003bb10
cmp eax, edx
jl 0x1003badd
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi + 8]
mov edx, dword [esp + 0x14]
add eax, ebx
push eax
mov eax, dword [ecx + edx + 4]
push eax
push esi
call fcn.1002b410
jmp 0x1003bb54
lea edx, [eax + eax*2]
mov eax, dword [esp + 0xb4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + edx*4]
push edx
push esi
call fcn.1002b450
add esp, 0xc
add dword [esp + 0x14], 0x14
add ebx, 1
cmp ebx, dword [edi + 4]
jl 0x1003bad0
push esi
call fcn.1002b690
mov ecx, dword [esp + 0x20]
mov ebx, eax
mov eax, dword [edi + 4]
push ebx
push eax
push ecx
push 0x55
push ebp
call fcn.100149c0
add esp, 0x18
cmp dword [esp + 0x58], 0
jne 0x1003bb96
push edi
push ebp
call fcn.1003a2b0
add esp, 8
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x48]
push edx
push ebx
push eax
push 0x69
push ebp
call fcn.100149c0
push ebx
push esi
call fcn.1002b730
mov ecx, dword [esp + 0x3c]
push ecx
push esi
call fcn.1002b730
mov edx, dword [edi + 4]
mov eax, dword [esp + 0x40]
push edx
push eax
push esi
call fcn.1002b7c0
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xec]
mov eax, dword [esp + 0x78]
push 0
push 0
push ecx
push edx
push 0xffffffffffffffff
push eax
push edi
push 1
push 0
push 0x65
push esi
call fcn.1002ef90
add esp, 0x5c
test eax, eax
jne 0x1003c077
mov ebx, dword [esp + 0x10]
cmp dword [esp + 0x58], 0
jne 0x1003bf12
cmp byte [edi + 0x39], 0
je 0x1003bc21
mov ecx, dword [esp + 0x28]
push ecx
push 0
push 0x71
push ebp
call fcn.10014a90
add esp, 0x10
cmp dword [esp + 0x2c], 0
jl 0x1003bcfc
cmp dword [esp + 0x38], 0
push ebx
je 0x1003bc85
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
push edx
push eax
push 3
push ebp
call fcn.100149c0
add esp, 0x14
push ebx
push 0x42
push ebp
call fcn.10014a70
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x4c]
push eax
push ebx
push ecx
push 0x19
push ebp
call fcn.100149c0
mov edx, dword [esp + 0x34]
push edx
push ebp
call fcn.10014e10
push ebx
push 0x25
push ebp
call fcn.10014a70
add esp, 0x34
jmp 0x1003bd30
cmp dword [esp + 0xb8], 0
je 0x1003bca7
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x64]
add ecx, edx
push ecx
push 8
push ebp
call fcn.10014a90
add esp, 0x10
jmp 0x1003bc49
mov ecx, dword [esp + 0xb4]
mov eax, dword [esp + 0x30]
mov edx, dword [ecx + 0xc]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*4]
push eax
push esi
call fcn.1002b410
push ebp
call fcn.10014c50
sub eax, 1
push eax
push ebp
call fcn.10014e40
add esp, 0x18
test eax, eax
je 0x1003bc49
cmp byte [eax], 0x71
jne 0x1003bc49
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x40]
mov byte [eax], 0x19
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
jmp 0x1003bd28
cmp byte [edi + 0x39], 0
je 0x1003bd12
push ebx
push 0
push 0x71
push ebp
call fcn.10014a90
add esp, 0x10
jmp 0x1003bd30
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x30]
push eax
push ebx
push ecx
push 0x19
push ebp
call fcn.100149c0
add esp, 0x14
mov dword [esp + 0x64], 1
cmp dword [esp + 0x40], 0
jle 0x1003bd4b
mov edx, dword [esp + 0x40]
mov eax, dword [esi + 0xc]
push ebx
push edx
push 0x2c
push eax
call fcn.10014a90
add esp, 0x10
xor eax, eax
cmp dword [edi + 4], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], eax
jle 0x1003bdd1
add ebx, 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x10]
cmp ecx, dword [edi + 0xc]
jne 0x1003bd7e
push ebx
push 0
push 0x71
push ebp
call fcn.10014a90
add esp, 0x10
jmp 0x1003bdb5
mov ecx, dword [esp + 0xb8]
test ecx, ecx
jne 0x1003be0d
mov edx, dword [edi + 8]
mov eax, dword [esp + 0x20]
cmp byte [edx + eax + 0x13], cl
je 0x1003be03
add dword [esp + 0x1c], 1
mov ecx, dword [edi + 8]
mov edx, dword [esp + 0x20]
mov eax, dword [ecx + edx + 4]
push ebx
push eax
push esi
call fcn.1002b410
add esp, 0xc
mov eax, dword [esp + 0x10]
add dword [esp + 0x20], 0x14
add eax, 1
add ebx, 1
cmp eax, dword [edi + 4]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
jl 0x1003bd65
cmp byte [edi + 0x39], 0
je 0x1003beb1
push edi
push esi
call fcn.10010430
mov ecx, dword [edi + 0x40]
mov edx, dword [esp + 0x30]
mov eax, dword [edi + 4]
push 0xfffffffffffffff6
push ecx
push edx
add eax, 2
push eax
push 1
push 0x77
push ebp
call fcn.10016e40
jmp 0x1003bf0f
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 0x1c]
jmp 0x1003be3d
mov edx, dword [ecx + 4]
xor eax, eax
test edx, edx
jle 0x1003be45
mov ecx, dword [ecx]
add ecx, 4
jmp 0x1003be20
mov ebx, dword [esp + 0x10]
cmp dword [ecx], ebx
je 0x1003be32
add eax, 1
add ecx, 8
cmp eax, edx
jl 0x1003be20
mov ecx, dword [esp + 0xb8]
mov ebx, dword [esp + 0x14]
test eax, eax
jl 0x1003bd9f
cmp dword [esp + 0x44], 0
je 0x1003bd9f
test ecx, ecx
je 0x1003be5d
cmp eax, dword [ecx + 4]
jge 0x1003bd9f
cmp dword [esp + 0x38], 0
push ebx
je 0x1003be7b
mov ecx, dword [esp + 0x28]
push eax
push ecx
push 3
push ebp
call fcn.100149c0
add esp, 0x14
jmp 0x1003bdb5
cmp dword [esp + 0xb8], 0
je 0x1003be9c
mov edx, dword [esp + 0x64]
add eax, edx
push eax
push 8
push ebp
call fcn.10014a90
add esp, 0x10
jmp 0x1003bdb5
mov ecx, dword [esp + 0xb4]
mov edx, dword [ecx + 0xc]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*4]
jmp 0x1003bdab
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xbc]
mov ebx, dword [esp + 0x28]
xor eax, eax
cmp dword [esp + 0x2c], eax
push ecx
mov ecx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0x38]
setge al
push 0
push eax
push ecx
push ebx
push edx
push edi
push esi
call fcn.1003a540
add esp, 0x24
test byte [esp + 0x3c], 2
je 0x1003bef0
mov eax, dword [esp + 0x48]
jmp 0x1003bef3
or eax, 0xffffffff
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x54]
push ecx
push eax
mov eax, dword [esp + 0x38]
push 0
push 0
push edx
push ebx
push eax
push edi
push esi
call fcn.1003ac30
add esp, 0x24
mov ecx, dword [esp + 0x50]
test byte [ecx + 0xc], 0x80
je 0x1003bf2e
mov edx, dword [esp + 0x5c]
push 1
push edx
push 0x29
push ebp
call fcn.10014a90
add esp, 0x10
cmp dword [esp + 0x3c], 0
je 0x1003bf65
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0x48]
push 0
push 0
push eax
push ecx
push 0xffffffffffffffff
push edx
push edi
push 2
push 0
push 0x65
push esi
call fcn.1002ef90
add esp, 0x2c
test eax, eax
jne 0x1003c077
mov eax, dword [esp + 0x18]
push eax
push ebp
call fcn.10014b00
add esp, 8
cmp dword [esp + 0x38], 0
je 0x1003bfa7
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x24]
push ecx
push ebx
push 0x67
push ebp
call fcn.10014a90
mov edx, dword [esp + 0x7c]
push edx
push ebp
call fcn.10014b00
push 0
push ebx
push 0x20
push ebp
call fcn.10014a90
add esp, 0x28
jmp 0x1003bfcb
cmp dword [esp + 0xb4], 0
je 0x1003bfcb
push 0
push 0
push 0x18
push ebp
call fcn.10014a90
mov eax, dword [esp + 0x44]
push eax
push ebp
call fcn.10014b00
add esp, 0x18
cmp byte [edi + 0x39], 0
jne 0x1003c01e
cmp dword [esp + 0x58], 0
jne 0x1003c01e
mov ecx, dword [esp + 0x30]
push 0
push ecx
push 0x20
push ebp
call fcn.10014a90
mov ebx, dword [edi + 0x10]
add esp, 0x10
test ebx, ebx
je 0x1003c01e
mov edx, dword [esp + 0x30]
add edx, 1
mov dword [esp + 0x34], edx
lea esp, [esp]
mov eax, dword [esp + 0x34]
push 0
push eax
push 0x20
push ebp
call fcn.10014a90
mov ebx, dword [ebx + 0x20]
add dword [esp + 0x44], 1
add esp, 0x10
test ebx, ebx
jne 0x1003c000
mov ecx, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x50]
mov edx, edi
mov eax, esi
call fcn.1003a4a0
mov edx, dword [esp + 0x54]
add esp, 4
test byte [edx + 0xc], 0x80
je 0x1003c077
cmp byte [esi + 0x13], 0
jne 0x1003c077
cmp dword [esi + 0x188], 0
jne 0x1003c077
mov eax, dword [esp + 0x5c]
push 1
push eax
push 0x56
push ebp
call fcn.10014a90
push 1
push ebp
call fcn.100156b0
push 0xfffffffffffffffe
push str.rows_inserted
push 0
push 0
push ebp
call fcn.10015760
add esp, 0x2c
pop edi
mov ecx, dword [esp + 0xa8]
push ecx
call fcn.100122e0
mov edx, dword [esp + 0xb0]
push edx
call fcn.1002ad40
mov eax, dword [esp + 0xb8]
push eax
call fcn.10025e20
mov ecx, dword [esp + 0xc0]
push ecx
call fcn.100121f0
mov edx, dword [esp + 0x60]
push edx
call fcn.10007640
add esp, 0x14
pop esi
pop ebp
pop ebx
add esp, 0x94
ret