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

Disassembly:
sub esp, 0x80
push ebx
xor ebx, ebx
push ebp
push esi
mov esi, dword [esp + 0x90]
or eax, 0xffffffff
cmp dword [esi + 0x18], ebx
push edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x68], ebx
jne 0x100375ab
cmp dword [0x100593ac], ebx
je 0x10036257
cmp dword [0x100593b8], ebx
jg 0x100375ab
mov ecx, dword [esp + 0x98]
mov eax, dword [esi]
push ecx
push esi
mov dword [esp + 0x54], eax
call fcn.1002e360
mov edi, eax
add esp, 8
cmp edi, ebx
mov dword [esp + 0x10], edi
je 0x100375ab
mov edx, dword [edi + 0x4c]
mov eax, dword [esi]
push edx
push eax
call fcn.10006be0
mov ecx, dword [esp + 0xa4]
push ecx
push 0x64
push edi
push esi
mov dword [esp + 0x48], eax
call fcn.10007080
xor edx, edx
cmp dword [edi + 0x18], ebx
mov ebp, eax
setne dl
push ebp
push edi
push esi
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x58], edx
call fcn.1001b0d0
add esp, 0x24
test eax, eax
jne 0x100375ab
push edi
push esi
call fcn.10034190
add esp, 8
test eax, eax
jne 0x100375ab
mov eax, dword [edi + 4]
add eax, eax
add eax, eax
push 1
push eax
call fcn.1000ac70
mov ecx, eax
add esp, 8
cmp ecx, ebx
mov dword [esp + 0x28], ecx
je 0x100375ab
xor eax, eax
cmp dword [edi + 4], ebx
jle 0x1003630f
jmp 0x10036300
mov dword [ecx + eax*4], 0xffffffff
add eax, 1
cmp eax, dword [edi + 4]
jl 0x10036300
cmp ebp, ebx
je 0x10036327
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x2c], eax
add eax, 1
mov dword [esp + 0x44], eax
add eax, 1
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x1c]
mov edx, dword [esp + 0x98]
mov dword [edx + 0x20], eax
add dword [esi + 0x1c], 1
mov ecx, dword [esi + 0x1c]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x10]
cmp eax, ebx
je 0x10036353
add ecx, 1
mov dword [esi + 0x1c], ecx
mov eax, dword [eax + 0x20]
cmp eax, ebx
jne 0x10036346
mov ecx, dword [esp + 0x9c]
cmp dword [ecx], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], ebx
jle 0x100365aa
mov dword [esp + 0x18], ebx
jmp 0x100363b0
mov edx, dword [esp + 0x9c]
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + eax]
push edx
lea eax, [esp + 0x70]
push eax
call fcn.100235f0
add esp, 8
test eax, eax
jne 0x100366ef
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
xor ebp, ebp
cmp ecx, ebx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x5c], ecx
jle 0x10036499
mov ecx, dword [esp + 0x9c]
mov edx, dword [ecx + 0xc]
mov ecx, dword [esp + 0x18]
mov edi, dword [eax + 8]
add ecx, edx
mov edx, dword [ecx + 4]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x50], edx
mov edi, edi
mov ecx, dword [edi]
mov al, byte [ecx]
cmp al, bl
mov esi, dword [esp + 0x50]
je 0x10036441
lea esp, [esp]
movzx edx, byte [esi]
movzx eax, al
mov al, byte [eax + 0x10050020]
cmp al, byte [edx + 0x10050020]
jne 0x10036441
mov al, byte [ecx + 1]
add ecx, 1
add esi, 1
cmp al, bl
jne 0x10036420
movzx edx, byte [esi]
movzx ecx, byte [ecx]
movzx eax, byte [edx + 0x10050020]
movzx edx, byte [ecx + 0x10050020]
sub edx, eax
je 0x1003646f
add ebp, 1
add edi, 0x14
cmp ebp, dword [esp + 0x5c]
jl 0x10036410
mov eax, dword [esp + 0x10]
mov dword [esp + 0x50], ebp
jmp 0x10036499
mov eax, dword [esp + 0x10]
cmp ebp, dword [eax + 0xc]
mov dword [esp + 0x50], ebp
jne 0x1003648e
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx]
mov dword [esp + 0x20], 1
mov dword [esp + 0x40], edx
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
mov dword [edx + ebp*4], ecx
cmp ebp, dword [eax + 4]
jl 0x10036538
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x18]
mov edi, dword [edx + ecx + 4]
lea ebp, [edx + ecx]
mov cl, byte [edi]
cmp cl, bl
mov eax, edi
mov esi, str._ROWID_
je 0x100364e5
movzx edx, byte [esi]
movzx ecx, cl
mov cl, byte [ecx + 0x10050020]
cmp cl, byte [edx + 0x10050020]
jne 0x100364e5
mov cl, byte [eax + 1]
add eax, 1
add esi, 1
cmp cl, bl
jne 0x100364c4
movzx edx, byte [esi]
movzx ecx, byte [edx + 0x10050020]
movzx edx, byte [eax]
movzx eax, byte [edx + 0x10050020]
sub eax, ecx
je 0x10036525
push str.ROWID
push edi
call fcn.10002980
add esp, 8
test eax, eax
je 0x10036525
push 0x10052fe8
push edi
call fcn.10002980
add esp, 8
test eax, eax
jne 0x100366c4
mov ecx, dword [ebp]
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x20], 1
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x30]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + edx*8]
mov eax, dword [esp + 0x10]
push edx
mov edx, dword [eax + 8]
lea ecx, [ebp + ebp*4]
mov ecx, dword [edx + ecx*4]
mov edx, dword [eax]
mov eax, dword [esp + 0x98]
push ecx
push edx
push 0x17
push eax
call fcn.1001a2e0
add esp, 0x14
cmp eax, 1
je 0x100366ef
cmp eax, 2
jne 0x10036587
mov ecx, dword [esp + 0x28]
mov dword [ecx + ebp*4], 0xffffffff
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x9c]
add dword [esp + 0x18], 0xc
add eax, 1
cmp eax, dword [edx]
mov dword [esp + 0x1c], eax
jl 0x100363b0
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x10]
cmp edx, ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x50], ebx
je 0x10036663
lea ecx, [ecx]
xor eax, eax
cmp dword [esp + 0x20], ebx
jne 0x100365e7
mov esi, dword [edx + 4]
cmp esi, ebx
jle 0x100365e7
mov ecx, dword [edx + 8]
mov edi, dword [esp + 0x28]
mov ebp, dword [ecx]
cmp dword [edi + ebp*4], ebx
jge 0x100365e7
add eax, 1
add ecx, 4
cmp eax, esi
jl 0x100365d6
cmp eax, dword [edx + 4]
jge 0x100365f1
add dword [esp + 0x50], 1
mov ecx, dword [esp + 0x1c]
mov edx, dword [edx + 0x20]
add ecx, 1
cmp edx, ebx
mov dword [esp + 0x1c], ecx
jne 0x100365c0
cmp ecx, ebx
jle 0x10036663
mov ebp, dword [esp + 0x50]
lea ecx, [ecx + ebp*4]
xor eax, eax
cmp ecx, ebx
jle 0x10036650
mov edi, dword [0x100593ac]
cmp edi, ebx
mov esi, dword [0x100593b8]
je 0x10036628
cmp esi, ebx
jg 0x10036650
push ecx
call fcn.10041469
add esp, 4
cmp eax, ebx
jne 0x10036650
cmp edi, ebx
je 0x1003663d
cmp esi, ebx
jg 0x10036650
add esi, 1
mov dword [0x100593b8], esi
mov dword [0x100593ac], 1
cmp eax, ebx
mov dword [esp + 0x58], eax
je 0x100366ef
lea edx, [eax + ebp*4]
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x10]
cmp edx, ebx
je 0x1003671e
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x50], eax
xor eax, eax
cmp dword [esp + 0x20], ebx
jne 0x100366a9
mov esi, dword [edx + 4]
cmp esi, ebx
jle 0x100366a9
mov ecx, dword [edx + 8]
mov ebp, dword [ecx]
cmp dword [edi + ebp*4], ebx
jge 0x100366a9
add eax, 1
add ecx, 4
cmp eax, esi
jl 0x10036698
cmp eax, dword [edx + 4]
jge 0x10036708
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x1c]
mov dword [eax], edx
add eax, 4
mov dword [esp + 0x50], eax
mov byte [ecx], 1
jmp 0x1003670e
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x1c]
mov edx, dword [ecx + 0xc]
mov ecx, dword [esp + 0x94]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*4 + 4]
push eax
push str.no_such_column:__s
push ecx
call fcn.10017590
add esp, 0xc
mov esi, dword [esp + 0xa0]
mov edx, dword [esp + 0x28]
push edx
call fcn.100417c0
add esp, 4
jmp 0x100375b2
mov eax, dword [esp + 0x1c]
mov byte [eax], bl
mov edx, dword [edx + 0x20]
add dword [esp + 0x1c], 1
cmp edx, ebx
jne 0x10036686
mov ebp, dword [esp + 0x94]
mov edi, dword [ebp + 0xc]
cmp edi, ebx
jne 0x10036745
mov ecx, dword [ebp]
push ecx
call fcn.1000ccf0
mov edi, eax
add esp, 4
cmp edi, ebx
mov dword [ebp + 0xc], eax
je 0x10037580
cmp byte [ebp + 0x13], bl
jne 0x10036751
mov byte [edi + 0x236], 1
mov edx, dword [esp + 0x30]
push edx
push 1
push ebp
call fcn.10026140
mov eax, dword [esp + 0x1c]
add esp, 0xc
cmp byte [eax + 0x39], bl
je 0x100367a8
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0xa0]
push edx
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0xa4]
push ecx
push edx
push eax
push ebp
call fcn.10031c50
add esp, 0x1c
xor esi, esi
mov dword [esp + 0x98], ebx
jmp 0x10037587
mov esi, dword [esp + 0xa0]
cmp esi, ebx
je 0x10036866
movzx ebp, byte [esp + 0x81]
lea ecx, [esp + 0x6c]
push esi
push ecx
mov byte [esp + 0x89], bl
call fcn.10023290
add esp, 8
test eax, eax
jne 0x10036822
mov eax, dword [esi + 8]
lea edx, [esp + 0x6c]
push edx
push fcn.10023290
push eax
call fcn.1000a170
add esp, 0xc
test eax, eax
jne 0x10036822
mov edx, dword [esi + 0xc]
lea ecx, [esp + 0x6c]
push ecx
push fcn.10023290
push edx
call fcn.1000a170
add esp, 0xc
test eax, eax
jne 0x10036822
mov eax, dword [esi + 0x10]
push fcn.10023290
lea ebx, [esp + 0x70]
call fcn.10005b70
add esp, 4
xor ebx, ebx
cmp dword [esp + 0x7c], ebx
jle 0x1003682d
or word [esi + 2], 8
cmp byte [esp + 0x81], bl
je 0x1003683d
or word [esi + 2], 2
jmp 0x10036849
cmp ebp, ebx
je 0x10036849
mov byte [esp + 0x81], 1
mov al, byte [esi + 2]
and al, 8
xor ecx, ecx
cmp al, 8
sete cl
mov eax, ecx
cmp eax, ebx
jne 0x10037587
mov ebp, dword [esp + 0x94]
cmp dword [esp + 0x34], ebx
je 0x100368ce
mov eax, dword [esp + 0x94]
mov edx, dword [eax + 0xb0]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x64], edx
mov edx, dword [ecx]
mov dword [esp + 0x68], eax
mov dword [eax + 0xb0], edx
mov eax, dword [ecx + 0x18]
push eax
call fcn.100129c0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x98]
push ebx
push ebx
push ebx
push ebx
push ecx
mov ebp, eax
push 8
push ebp
push edx
call fcn.10030c70
add esp, 0x24
cmp ebp, ebx
je 0x100368c7
push ebp
call fcn.1000a780
push ebp
call fcn.100417c0
add esp, 8
mov ebp, dword [esp + 0x94]
mov eax, dword [esp + 0x98]
push ebx
push esi
push eax
push ebp
call fcn.100281f0
add esp, 0x10
cmp eax, ebx
mov dword [esp + 0x60], eax
je 0x10037565
mov edx, dword [esp + 0x10]
mov al, byte [edx + 0x39]
mov ecx, dword [esp + 0x14]
neg al
push ebx
push ecx
sbb eax, eax
and eax, 0xffffffe7
add eax, 0x25
push eax
push edi
call fcn.10011e00
mov esi, dword [edi + 0x10]
add esp, 0x10
cmp dword [edi + 0x14], esi
jg 0x1003692e
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x1003692e
cmp dword [0x100593b8], ebx
jg 0x10036950
mov edx, dword [edi + 0x18]
add dword [edi + 0x10], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov byte [eax], 0x38
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov eax, dword [esp + 0x60]
push eax
call fcn.10016230
mov ecx, dword [esp + 0x50]
add esp, 4
test byte [ecx + 8], 0x80
je 0x10036989
cmp dword [ebp + 0xac], ebx
jne 0x10036989
mov eax, dword [ebp + 0x20]
push eax
push ebx
lea edx, [eax + 1]
push 0x30
push edi
mov dword [esp + 0x64], eax
mov dword [ebp + 0x20], edx
call fcn.10011e00
add esp, 0x10
cmp dword [esp + 0x48], ebx
je 0x10036c30
mov ebp, dword [esp + 0x44]
push ebx
push ebp
push 0x77
push edi
call fcn.10011e00
mov esi, dword [esp + 0x20]
mov eax, dword [esi + 4]
push eax
push ebp
push 0x67
push edi
call fcn.10011e00
mov ecx, dword [esp + 0x4c]
push ebx
push ecx
push 0x77
push edi
call fcn.10011e00
mov edx, dword [esi + 4]
mov eax, dword [esp + 0x5c]
push edx
push eax
push 0x67
push edi
call fcn.10011e00
add esp, 0x40
push ebx
push ebx
push 0x60
push edi
call fcn.10011e00
add esp, 0x10
cmp dword [esp + 0x34], ebx
mov dword [esp + 0x24], eax
jne 0x10036a1e
push ebx
push ebx
push 0x5d
push edi
call fcn.10011e00
push ebx
push ebx
push 0x5d
push edi
call fcn.10011e00
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0xb4]
push 0xe
push esi
mov esi, dword [esp + 0x3c]
push ecx
push esi
push edx
call fcn.10013960
add esp, 0x34
jmp 0x10036a22
mov esi, dword [esp + 0x14]
push ebx
push esi
push 0x7f
push edi
call fcn.10011e00
push ebx
push esi
push 0x25
push edi
call fcn.10011e00
push ebx
push esi
push 0x29
push edi
call fcn.10011e00
push ebx
push ebp
push 0x70
push edi
call fcn.10011e00
add esp, 0x40
cmp dword [esp + 0x20], ebx
je 0x10036a6a
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x94]
push eax
push ecx
call fcn.100242d0
add esp, 8
jmp 0x10036a77
push ebx
push esi
push 0x25
push edi
call fcn.10011e00
add esp, 0x10
mov eax, dword [esp + 0x10]
xor ebp, ebp
cmp dword [eax + 4], ebx
jle 0x10036b2a
cmp ebp, dword [eax + 0xc]
jne 0x10036acf
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10036aab
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10036aab
cmp dword [0x100593b8], ebx
jg 0x10036b1a
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], 1
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x79
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
jmp 0x10036b1a
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + ebp*4]
cmp eax, ebx
jge 0x10036af9
mov edx, dword [esp + 0x14]
push ebp
push edx
push 3
push edi
call fcn.10011e00
mov eax, dword [esp + 0x20]
push ebp
push eax
push edi
call fcn.1001c3e0
add esp, 0x1c
jmp 0x10036b1a
mov edx, dword [esp + 0x9c]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + ecx*4]
mov edx, dword [esp + 0x94]
push ecx
push edx
call fcn.100242d0
add esp, 8
mov eax, dword [esp + 0x10]
add ebp, 1
cmp ebp, dword [eax + 4]
jl 0x10036a86
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
mov ebp, dword [eax + 4]
jg 0x10036b4d
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10036b4d
cmp dword [0x100593b8], ebx
jg 0x10036b6f
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], 1
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x5a
mov dword [eax + 4], ebp
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
cmp dword [esp + 0x34], ebx
jne 0x10036b83
mov edx, dword [esp + 0x10]
push edx
push edi
call fcn.1000e620
add esp, 8
mov eax, dword [esp + 0x94]
cmp dword [eax + 0x18], ebx
jne 0x10037565
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10036bb3
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10036bb3
cmp dword [0x100593b8], ebx
jg 0x10036bd9
mov edx, dword [edi + 0x18]
add dword [edi + 0x10], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x2c]
mov byte [eax], 0x70
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
cmp dword [esp + 0x34], ebx
jne 0x10036bf0
mov edx, dword [esp + 0x14]
push ebx
push edx
push 0x1e
push edi
call fcn.10011e00
add esp, 0x10
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [esp + 0xa8]
push eax
mov eax, dword [esp + 0xa4]
push ecx
push 1
push edx
push 0x64
push eax
call fcn.10037c70
add esp, 0x24
test eax, eax
jne 0x10037565
cmp dword [esp + 0x34], ebx
jne 0x10037146
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 0x39], bl
jne 0x10037146
mov ebp, dword [esp + 0x94]
mov esi, dword [ebp + 0xc]
cmp esi, ebx
jne 0x10036c66
mov edx, dword [ebp]
push edx
call fcn.1000ccf0
add esp, 4
mov dword [ebp + 0xc], eax
mov esi, eax
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp]
mov ecx, dword [ebp + 0x14]
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x98]
push 1
push ecx
push edx
push eax
call fcn.10012c00
mov ecx, dword [esp + 0x44]
push ebx
push ecx
push 0x2f
push esi
call fcn.10011e00
mov edx, dword [ebp + 0x14]
mov eax, dword [esp + 0x38]
push edx
push eax
push 9
push esi
call fcn.10011e00
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x48]
push ecx
push edx
push 0x67
push esi
call fcn.10011e00
mov ecx, 5
add esp, 0x44
cmp dword [esp + 0xa4], ecx
je 0x10036ce0
mov eax, dword [ebp + 0x10]
cmp eax, ebx
mov dword [esp + 0x38], ebx
je 0x10036ce8
cmp byte [eax + 0x18], cl
je 0x10036ce0
mov eax, dword [eax + 0x20]
cmp eax, ebx
jne 0x10036cd2
jmp 0x10036ce8
mov dword [esp + 0x38], 1
mov ebp, dword [ebp + 0x10]
cmp ebp, ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], ebp
je 0x10036e52
jmp 0x10036d00
cmp dword [esp + 0x38], ebx
jne 0x10036d17
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + eax], bl
je 0x10036e3a
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x94]
push edx
push eax
call fcn.1001aee0
mov esi, dword [edi + 0x10]
add esp, 8
cmp dword [edi + 0x14], esi
mov dword [esp + 0x50], eax
jg 0x10036d50
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10036d50
cmp dword [0x100593b8], ebx
jg 0x10036d76
mov edx, dword [edi + 0x18]
add dword [edi + 0x10], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x30]
mov byte [eax], 0x2f
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
mov edx, dword [esp + 0x18]
mov ebp, dword [edx + 0x14]
jg 0x10036da1
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10036da1
cmp dword [0x100593b8], ebx
jle 0x10036da1
xor esi, esi
jmp 0x10036dcf
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], 1
mov edx, dword [esp + 0x14]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x1c]
lea edx, [edx + ecx + 1]
mov byte [eax], 9
mov dword [eax + 4], edx
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov ecx, dword [edi + 0x18]
cmp ecx, ebx
mov eax, esi
je 0x10036e2c
cmp dword [0x100593ac], ebx
je 0x10036de8
cmp dword [0x100593b8], ebx
jg 0x10036e2c
cmp esi, ebx
jl 0x10036df1
cmp esi, dword [edi + 0x10]
jl 0x10036df9
mov eax, dword [edi + 0x10]
sub eax, 1
js 0x10036e3a
lea eax, [eax + eax*4]
mov esi, dword [ecx + eax*4 + 0xc]
lea ebp, [ecx + eax*4]
mov eax, dword [ebp + 0x10]
call fcn.1000cd60
cmp dword [esp + 0x50], ebx
mov dword [ebp + 0xc], ebx
jne 0x10036e1c
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x10], ebx
jmp 0x10036e3a
mov ecx, dword [esp + 0x50]
mov dword [ebp + 0xc], ecx
mov dword [ebp + 0x10], 0xfffffffa
jmp 0x10036e3a
mov esi, dword [esp + 0x50]
mov eax, 0xfffffff7
call fcn.1000cd60
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x20]
add dword [esp + 0x1c], 1
cmp eax, ebx
mov dword [esp + 0x18], eax
jne 0x10036d00
cmp dword [esp + 0x48], ebx
jne 0x10036ef4
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10036e87
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10036e87
cmp dword [0x100593b8], ebx
jle 0x10036e87
mov dword [esp + 0x24], ebx
mov ebp, 1
jmp 0x10036eb1
mov ecx, dword [edi + 0x18]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ebp, 1
add dword [edi + 0x10], ebp
mov byte [eax], 0x60
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov dword [esp + 0x24], esi
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10036ed1
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10036ed1
cmp dword [0x100593b8], ebx
jg 0x10036ef9
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], ebp
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x5d
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
jmp 0x10036ef9
mov ebp, 1
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10036f19
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10036f19
cmp dword [0x100593b8], ebx
jg 0x10036f42
mov edx, dword [edi + 0x18]
add dword [edi + 0x10], ebp
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov byte [eax], 0x2c
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
cmp dword [esp + 0x20], ebx
je 0x10036f9e
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x94]
push eax
push ecx
call fcn.10023a30
mov esi, dword [edi + 0x10]
add esp, 8
cmp dword [edi + 0x14], esi
jg 0x10036f7d
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10036f7d
cmp dword [0x100593b8], ebx
jg 0x10036f9e
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], ebp
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x23
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov eax, dword [esp + 0x10]
xor ebp, ebp
cmp dword [eax + 4], ebx
jle 0x10037093
lea ecx, [ecx]
cmp ebp, dword [eax + 0xc]
jne 0x10037000
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10036fd9
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10036fd9
cmp dword [0x100593b8], ebx
jg 0x10037083
mov edx, dword [edi + 0x18]
add dword [edi + 0x10], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov byte [eax], 0x79
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
jmp 0x10037083
mov eax, dword [esp + 0x28]
mov eax, dword [eax + ebp*4]
cmp eax, ebx
jge 0x10037062
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x1003702b
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x1003702b
cmp dword [0x100593b8], ebx
jg 0x10037051
mov edx, dword [edi + 0x18]
add dword [edi + 0x10], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x14]
mov byte [eax], 3
mov dword [eax + 4], ecx
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov edx, dword [esp + 0x10]
push ebp
push edx
push edi
call fcn.1001c3e0
add esp, 0xc
jmp 0x10037083
mov ecx, dword [esp + 0x9c]
mov edx, dword [ecx + 0xc]
mov ecx, dword [esp + 0x94]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*4]
push eax
push ecx
call fcn.10023a30
add esp, 8
mov eax, dword [esp + 0x10]
add ebp, 1
cmp ebp, dword [eax + 4]
jl 0x10036fb0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x20]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x9c]
push 1
push ecx
push ebp
push esi
push edx
push eax
call fcn.1002e6f0
mov ecx, dword [esp + 0x30]
push ebp
push esi
push ecx
push edi
call fcn.1002c200
add esp, 0x30
cmp dword [esp + 0x20], ebx
je 0x10037125
mov eax, dword [edi + 0x10]
cmp dword [edi + 0x14], eax
mov dword [esp + 0x50], eax
jg 0x10037103
mov ecx, eax
add ecx, 1
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x100370ff
cmp dword [0x100593b8], ebx
jg 0x10037125
mov eax, dword [esp + 0x50]
add dword [edi + 0x10], 1
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x18]
lea eax, [eax + edx*4]
mov byte [eax], 0x5b
mov dword [eax + 4], esi
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x94]
push ebx
push 0xffffffffffffffff
push 1
push ecx
push ebp
push esi
push edx
push eax
call fcn.10014940
add esp, 0x20
mov ecx, dword [esp + 0x4c]
test byte [ecx + 8], 0x80
je 0x100371a9
mov edx, dword [esp + 0x94]
cmp dword [edx + 0xac], ebx
jne 0x100371a9
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x1003717f
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x1003717f
cmp dword [0x100593b8], ebx
jg 0x100371a9
mov edx, dword [edi + 0x18]
mov ecx, 1
add dword [edi + 0x10], ecx
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x54]
mov byte [eax], 0x2d
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
cmp dword [esp + 0x48], ebx
je 0x100372c3
cmp dword [esp + 0x34], ebx
jne 0x10037281
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x10]
xor ebp, ebp
cmp eax, ebx
mov dword [esp + 0x18], eax
je 0x1003723b
mov edi, edi
cmp dword [esp + 0x38], ebx
jne 0x100371df
mov ecx, dword [esp + 0x3c]
cmp byte [ecx + ebp], bl
je 0x1003722d
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x100371ff
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x100371ff
cmp dword [0x100593b8], ebx
jg 0x10037229
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], 1
mov ecx, dword [esp + 0x14]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
lea edx, [ecx + ebp + 1]
mov byte [eax], 0x1e
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x20]
add ebp, 1
cmp eax, ebx
mov dword [esp + 0x18], eax
jne 0x100371d0
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x1003725b
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x1003725b
cmp dword [0x100593b8], ebx
jg 0x10037281
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], 1
mov edx, dword [esp + 0x14]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x1e
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov ebp, dword [esp + 0x24]
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x2c]
push ebp
push eax
mov eax, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0xa8]
push edx
mov edx, dword [esp + 0xa4]
push eax
push 2
push ecx
push 0x64
push edx
call fcn.10037c70
add esp, 0x24
test eax, eax
jne 0x10037565
jmp 0x100372c7
mov ebp, dword [esp + 0x24]
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x100372e7
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x100372e7
cmp dword [0x100593b8], ebx
jg 0x10037309
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], 1
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x5e
mov dword [eax + 4], ebx
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
cmp ebp, ebx
jl 0x10037323
mov ecx, dword [edi + 0x10]
cmp ecx, ebp
jle 0x10037323
mov eax, dword [edi + 0x18]
cmp eax, ebx
je 0x10037323
lea edx, [ebp + ebp*4]
mov dword [eax + edx*4 + 8], ecx
cmp dword [esp + 0x48], ebx
jne 0x100373db
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x10]
xor ebp, ebp
cmp ecx, ebx
mov dword [esp + 0x18], ecx
je 0x100373b1
mov edi, edi
cmp dword [esp + 0x38], ebx
jne 0x1003734f
mov edx, dword [esp + 0x3c]
cmp byte [edx + ebp], bl
je 0x100373a3
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10037373
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x1003736f
cmp dword [0x100593b8], ebx
jg 0x1003739f
mov ecx, dword [esp + 0x18]
mov edx, dword [edi + 0x18]
add dword [edi + 0x10], 1
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x14]
lea edx, [edx + ebp + 1]
mov byte [eax], 0x1e
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
jmp 0x100373a3
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x20]
add ebp, 1
cmp ecx, ebx
mov dword [esp + 0x18], ecx
jne 0x10037340
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x100373d5
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x100373d5
cmp dword [0x100593b8], ebx
jg 0x10037467
mov edx, dword [esp + 0x14]
jmp 0x10037445
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x100373fb
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x100373fb
cmp dword [0x100593b8], ebx
jg 0x10037421
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], 1
mov edx, dword [esp + 0x2c]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x1e
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10037441
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10037441
cmp dword [0x100593b8], ebx
jg 0x10037467
mov edx, dword [esp + 0x44]
mov ecx, dword [edi + 0x18]
add dword [edi + 0x10], 1
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x1e
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
mov eax, dword [esp + 0x4c]
test byte [eax + 8], 0x80
je 0x10037565
mov eax, dword [esp + 0x94]
cmp dword [eax + 0xac], ebx
jne 0x10037565
cmp byte [eax + 0x13], bl
jne 0x10037565
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x100374b1
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x100374b1
cmp dword [0x100593b8], ebx
jg 0x100374dd
mov edx, dword [edi + 0x18]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x54]
mov ebp, 1
add dword [edi + 0x10], ebp
mov byte [eax], 1
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
jmp 0x100374e2
mov ebp, 1
mov esi, dword [edi + 0x10]
cmp dword [edi + 0x14], esi
jg 0x10037502
lea ecx, [esi + 1]
call fcn.10011d60
cmp dword [0x100593ac], ebx
je 0x10037502
cmp dword [0x100593b8], ebx
jg 0x10037523
mov eax, dword [edi + 0x18]
add dword [edi + 0x10], ebp
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x39
mov dword [eax + 4], ebp
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [edi + 0x238], bl
push ebp
push edi
call fcn.1000cf90
add esp, 8
cmp dword [0x100593ac], ebx
je 0x1003753d
cmp dword [0x100593b8], ebx
jg 0x10037565
mov edi, dword [edi + 0x34]
push edi
call fcn.10009c40
add esp, 4
mov dword [edi + 0x10], str.rows_updated
mov byte [edi + 0x1b], 1
mov byte [edi + 0x1a], 3
mov dword [edi + 0x14], 0xc
mov word [edi + 0x18], 0xa2
mov eax, dword [esp + 0x68]
cmp eax, ebx
mov esi, dword [esp + 0xa0]
je 0x10037587
mov ecx, dword [esp + 0x64]
mov dword [eax + 0xb0], ecx
jmp 0x10037587
mov esi, dword [esp + 0xa0]
mov eax, dword [esp + 0x58]
cmp eax, ebx
je 0x100366f6
push eax
call fcn.100417c0
mov edx, dword [esp + 0x2c]
add esp, 4
push edx
call fcn.100417c0
add esp, 4
jmp 0x100375b2
mov esi, dword [esp + 0xa0]
mov eax, dword [esp + 0x98]
push eax
call fcn.1000a5b0
mov ecx, dword [esp + 0xa0]
push ecx
call fcn.1000a110
push esi
call fcn.1000d3b0
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret