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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x94
or dword [esp + 0x40], 0xffffffff
lea eax, [esp + 0x60]
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x40], edx
xor ecx, ecx
mov dword [esp + 0x1c], edi
push 8
push ecx
mov esi, ecx
mov dword [esp + 0x3c], ecx
push eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x20], esi
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], ecx
call fcn.181620e0
mov ebx, dword [edi]
add esp, 0xc
mov dword [esp + 0x18], ebx
cmp dword [edi + 0x24], esi
jne 0x18112b94
cmp byte [ebx + 0x49], 0
jne 0x18112b94
mov edx, dword [esp + 0x40]
mov ecx, edi
call fcn.1811220d
mov esi, eax
mov dword [esp + 0x64], esi
test esi, esi
je 0x18112b90
push 0
push 0
push 0x6d
mov edx, esi
mov ecx, edi
call fcn.18123d9c
mov ecx, eax
add esp, 0xc
mov eax, dword [esi + 0xc]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x50], eax
test ecx, ecx
jne 0x18112443
push ecx
push ecx
mov edx, esi
mov ecx, edi
call fcn.18115e66
pop ecx
pop ecx
test eax, eax
je 0x18112446
xor eax, eax
inc eax
mov edx, esi
mov dword [esp + 0x20], eax
mov ecx, edi
call fcn.1810f480
test eax, eax
jne 0x18112b90
cmp dword [esp + 0x68], eax
mov edx, esi
mov ecx, edi
setne al
push eax
call fcn.18112249
pop ecx
test eax, eax
jne 0x18112b90
mov edx, dword [esi + 0x48]
mov ecx, ebx
call fcn.1811c668
mov ecx, eax
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0x10]
add ecx, ecx
push dword [eax + ecx*8]
mov ecx, edi
push 0
push dword [esi]
push 9
pop edx
call fcn.1810d188
add esp, 0xc
mov dword [esp + 0x30], eax
cmp eax, 1
je 0x18112b90
mov ecx, dword [esp + 0x40]
xor edx, edx
mov eax, dword [edi + 0x28]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [ecx + 0x38], eax
inc dword [edi + 0x28]
mov eax, dword [esi + 8]
mov ecx, dword [edi + 0x28]
test eax, eax
je 0x181124dc
inc ecx
inc edx
mov dword [edi + 0x28], ecx
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x181124cc
mov dword [esp + 0x2c], edx
cmp dword [esp + 0x50], 0
je 0x181124f9
mov ecx, dword [esi]
mov eax, dword [edi + 0x1b8]
mov dword [esp + 0x70], edi
mov dword [esp + 0x6c], eax
mov dword [edi + 0x1b8], ecx
mov ecx, edi
call fcn.1811e998
mov ebx, eax
test ebx, ebx
je 0x1811280a
cmp byte [edi + 0x12], 0
jne 0x18112517
or dword [ebx + 0x94], 0x10
push dword [esp + 0x24]
xor edx, edx
mov ecx, edi
inc edx
call fcn.181115f9
cmp dword [esp + 0x54], 0
pop ecx
je 0x18112550
push dword [esp + 0x28]
mov edx, esi
mov ecx, edi
push 0
push 0
push dword [ebp + 8]
call fcn.181122aa
mov eax, dword [esp + 0x38]
add esp, 0x10
mov dword [esp + 0x58], eax
mov dword [esp + 0x34], eax
push 0x20
lea eax, [esp + 0x84]
push 0
push eax
call fcn.181620e0
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x8c]
mov edx, dword [ebp + 8]
add esp, 0xc
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], eax
call fcn.18105a3b
test eax, eax
jne 0x1811280a
mov eax, dword [esp + 0x18]
test byte [eax + 0x1c], 0x80
je 0x181125b3
inc dword [edi + 0x2c]
mov ecx, ebx
mov eax, dword [edi + 0x2c]
push 0
push eax
push 0
push 0x43
pop edx
mov dword [esp + 0x58], eax
call fcn.180f7767
add esp, 0xc
cmp dword [esp + 0x30], 0
mov ecx, dword [esp + 0x20]
jne 0x1811263a
cmp dword [ebp + 8], 0
jne 0x1811263a
test ecx, ecx
jne 0x1811263a
cmp dword [esi + 0x38], ecx
jne 0x1811263a
push dword [esi]
mov edx, dword [esp + 0x28]
mov ecx, edi
push 1
push dword [esi + 0x1c]
call fcn.1810d20c
add esp, 0xc
test byte [esi + 0x24], 0x20
jne 0x18112606
push 0xffffffffffffffff
push dword [esi]
mov edx, 0x87
mov ecx, ebx
push dword [esp + 0x54]
push dword [esp + 0x30]
push dword [esi + 0x1c]
call fcn.180f7892
add esp, 0x14
mov esi, dword [esi + 8]
test esi, esi
je 0x18112b26
mov edi, dword [esp + 0x24]
push 0
push edi
push dword [esi + 0x2c]
mov edx, 0x87
mov ecx, ebx
call fcn.180f7767
mov esi, dword [esi + 0x14]
add esp, 0xc
test esi, esi
jne 0x18112615
mov edi, dword [esp + 0x1c]
jmp 0x18112b26
test byte [esp + 0x9c], 0x40
je 0x18112647
xor ecx, ecx
inc ecx
xor eax, eax
test ecx, ecx
sete al
test byte [esi + 0x24], 0x20
lea eax, [eax*8 + 0x414]
movzx eax, ax
mov dword [esp + 0x30], eax
jne 0x1811268d
and dword [esp + 0x20], 0
mov ecx, ebx
inc dword [edi + 0x2c]
mov eax, dword [edi + 0x2c]
push 0
push eax
push 0
push 0x46
pop edx
mov dword [esp + 0x30], 1
mov dword [esp + 0x60], eax
call fcn.180f7767
add esp, 0xc
jmp 0x181126df
mov ecx, esi
call fcn.1810dd7a
mov dword [esp + 0x20], eax
push 0
movzx ecx, word [eax + 0x32]
mov eax, dword [edi + 0x2c]
mov dword [esp + 0x28], ecx
movsx ecx, cx
push ecx
lea edx, [eax + 1]
add eax, ecx
mov dword [esp + 0x40], edx
mov ecx, ebx
mov edx, dword [edi + 0x28]
push edx
mov dword [edi + 0x2c], eax
mov dword [esp + 0x48], edx
lea eax, [edx + 1]
push 0x6e
pop edx
mov dword [edi + 0x28], eax
call fcn.180f7767
mov edx, dword [esp + 0x2c]
add esp, 0xc
mov ecx, edi
mov dword [esp + 0x44], eax
call fcn.180f7e8d
mov eax, dword [esp + 0x28]
mov ecx, edi
mov edx, dword [esp + 0x40]
inc eax
push eax
push dword [esp + 0x34]
push 0
push 0
push dword [ebp + 8]
call fcn.1812ef3e
add esp, 0x14
mov dword [esp + 0x30], eax
test eax, eax
je 0x1811280a
add eax, 0x18
push 8
push eax
lea eax, [esp + 0x80]
push eax
call fcn.18161b60
mov eax, dword [esp + 0x3c]
add esp, 0xc
mov al, byte [eax + 0x31]
mov byte [esp + 0x13], al
mov byte [esp + 0x74], al
mov eax, dword [esp + 0x18]
test byte [eax + 0x1c], 0x80
je 0x1811274e
push 0
push 1
push dword [esp + 0x54]
mov ecx, ebx
push 0x50
pop edx
call fcn.180f7767
add esp, 0xc
mov edx, dword [esp + 0x20]
test edx, edx
je 0x181127a7
mov ecx, dword [esp + 0x24]
xor eax, eax
and dword [esp + 0x60], 0
cmp ax, cx
jge 0x1811279d
mov edi, dword [esp + 0x60]
mov eax, dword [esp + 0x38]
mov ecx, ebx
add eax, edi
push eax
mov eax, dword [edx + 4]
mov edx, esi
movsx eax, word [eax + edi*2]
push eax
push dword [esp + 0x30]
call fcn.181089c1
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov edx, dword [esp + 0x20]
inc edi
movsx eax, cx
cmp edi, eax
jl 0x1811276a
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1c], eax
jmp 0x181127cc
mov eax, dword [edi + 0x2c]
mov edx, esi
push 0
inc eax
mov ecx, edi
push eax
push dword [esp + 0x30]
push 0xffffffffffffffff
call fcn.18108a5b
add esp, 0x10
mov dword [esp + 0x1c], eax
cmp eax, dword [edi + 0x2c]
jle 0x181127cc
mov dword [edi + 0x2c], eax
cmp byte [esp + 0x13], 0
je 0x18112885
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
movzx eax, ax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x2c]
add eax, 2
cdq
push edx
push eax
call fcn.180dfde7
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0x18112813
mov ecx, dword [esp + 0x30]
call fcn.1812f8ec
mov ebx, dword [esp + 0x18]
jmp 0x18112b90
mov eax, dword [esp + 0x2c]
inc eax
push eax
push 1
push ecx
call fcn.181620e0
mov eax, dword [esp + 0x38]
add esp, 0xc
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov byte [eax + edx + 1], 0
mov eax, dword [esp + 0x78]
test eax, eax
js 0x18112843
sub eax, ecx
mov byte [eax + edx], 0
mov eax, dword [esp + 0x7c]
test eax, eax
js 0x18112851
sub eax, ecx
mov byte [eax + edx], 0
mov eax, dword [esp + 0x44]
test eax, eax
je 0x18112862
mov edx, eax
mov ecx, ebx
call fcn.180f7d39
mov ecx, ebx
call fcn.180f79a6
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
movzx eax, cx
mov dword [esp + 0x2c], eax
jmp 0x1811290f
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x181128e8
inc dword [edi + 0x2c]
mov edx, ecx
mov eax, dword [edi + 0x2c]
and dword [esp + 0x2c], 0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x24]
movsx esi, ax
push esi
push ecx
mov ecx, dword [edi]
call fcn.1811665b
pop ecx
push eax
push dword [esp + 0x24]
mov ecx, ebx
push esi
push dword [esp + 0x48]
push 0x65
pop edx
call fcn.180f7892
add esp, 0x14
mov edx, 0x81
mov ecx, ebx
push esi
push dword [esp + 0x3c]
push dword [esp + 0x24]
push dword [esp + 0x48]
call fcn.180f794f
mov esi, dword [esp + 0x74]
add esp, 0x10
jmp 0x18112906
push 0
push eax
push dword [esp + 0x5c]
mov edx, 0x91
mov dword [esp + 0x38], 1
mov ecx, ebx
call fcn.180f7767
add esp, 0xc
mov ecx, dword [esp + 0x30]
call fcn.1812f8ec
cmp dword [esp + 0x50], 0
jne 0x18112977
xor eax, eax
cmp byte [esp + 0x13], 2
mov dword [esp + 0x44], eax
jne 0x18112937
push eax
push eax
push eax
push 0x14
pop edx
mov ecx, ebx
call fcn.180f7767
add esp, 0xc
mov dword [esp + 0x44], eax
lea eax, [esp + 0x58]
mov edx, esi
push eax
lea eax, [esp + 0x38]
mov ecx, edi
push eax
push dword [esp + 0x1c]
push dword [esp + 0x34]
push 8
push 0x6b
call fcn.1811840a
mov al, byte [esp + 0x2b]
add esp, 0x18
cmp al, 2
jne 0x1811297b
mov edx, dword [esp + 0x44]
mov ecx, ebx
call fcn.180f7ea8
mov ecx, dword [ebx + 0x88]
mov dword [eax + 8], ecx
jmp 0x1811297f
mov al, byte [esp + 0x13]
test al, al
je 0x181129bd
cmp dword [esi + 0x38], 0
mov ecx, dword [esp + 0x34]
jne 0x18112a2c
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 0x28]
cmp byte [eax + ecx], 0
je 0x18112a2c
mov eax, dword [esp + 0x2c]
cwde
push eax
push dword [esp + 0x20]
push dword [esp + 0x64]
push ecx
push 0x1d
pop edx
mov ecx, ebx
call fcn.180f794f
add esp, 0x10
jmp 0x18112a28
cmp dword [esp + 0x20], 0
mov ecx, ebx
je 0x18112a0f
push 0
push 0
push dword [esp + 0x44]
push 0x25
pop edx
call fcn.180f7767
mov edx, dword [esi + 0x38]
add esp, 0xc
mov ecx, edx
mov dword [esp + 0x48], eax
neg ecx
sbb ecx, ecx
and ecx, dword [esp + 0x1c]
push ecx
mov ecx, edx
neg ecx
sbb ecx, ecx
not ecx
and ecx, dword [esp + 0x20]
neg edx
push ecx
push dword [esp + 0x44]
sbb edx, edx
mov ecx, ebx
and edx, 0xffffffe7
add edx, 0x7c
call fcn.180f7767
jmp 0x18112a25
push dword [esp + 0x1c]
push 0
push dword [esp + 0x5c]
push 0x2a
pop edx
call fcn.180f7767
mov dword [esp + 0x54], eax
add esp, 0xc
mov ecx, dword [esp + 0x34]
cmp dword [esi + 0x38], 0
mov edx, esi
je 0x18112a92
mov ecx, dword [esp + 0x18]
call fcn.18125e0f
mov edx, dword [esp + 0x64]
mov ecx, edi
mov esi, eax
call fcn.18126b61
push dword [esp + 0x1c]
mov ecx, ebx
push 1
push 0
push 0xc
pop edx
call fcn.180f7767
add esp, 0xc
mov edx, eax
mov ecx, ebx
push 0xfffffffffffffff4
push esi
call fcn.180f7de4
pop ecx
pop ecx
push 2
pop edx
mov ecx, ebx
call fcn.180f7bf4
mov ecx, edi
call fcn.18111625
mov al, byte [esp + 0x13]
cmp al, 1
jne 0x18112ac9
cmp dword [edi + 0x78], 0
jne 0x18112acd
mov byte [edi + 0x14], 0
jmp 0x18112ac9
push dword [esp + 0x7c]
cmp byte [edi + 0x12], 0
push dword [esp + 0x78]
sete al
push 0xa
movzx eax, al
push eax
push dword [esp + 0x3c]
push dword [esp + 0x30]
push dword [esp + 0x70]
push ecx
push dword [esp + 0x88]
mov ecx, edi
call fcn.18112bda
mov al, byte [esp + 0x37]
add esp, 0x24
test al, al
je 0x18112ae3
mov edx, dword [esp + 0x5c]
mov ecx, ebx
call fcn.180f79e8
mov ecx, dword [esp + 0x30]
call fcn.1812f8ec
jmp 0x18112b26
cmp dword [esp + 0x20], 0
mov ecx, ebx
je 0x18112b09
mov esi, dword [esp + 0x48]
push 0
lea eax, [esi + 1]
push eax
push dword [esp + 0x44]
push 7
pop edx
call fcn.180f7767
add esp, 0xc
mov edx, esi
jmp 0x18112b16
mov edx, dword [esp + 0x48]
call fcn.180f77c9
mov edx, dword [esp + 0x48]
mov ecx, ebx
call fcn.180f7ea8
mov ecx, dword [ebx + 0x88]
mov dword [eax + 8], ecx
cmp byte [edi + 0x12], 0
jne 0x18112b3f
cmp dword [edi + 0x7c], 0
jne 0x18112b3f
cmp dword [edi + 0x74], 0
je 0x18112b3f
mov ecx, edi
call fcn.18116967
mov eax, dword [esp + 0x18]
test byte [eax + 0x1c], 0x80
je 0x18112b8e
cmp byte [edi + 0x12], 0
jne 0x18112b8e
cmp dword [edi + 0x7c], 0
jne 0x18112b8e
push 0
push 1
push dword [esp + 0x54]
mov ecx, ebx
push 0x4e
pop edx
call fcn.180f7767
add esp, 0xc
xor edx, edx
inc edx
mov ecx, ebx
call fcn.180f8a56
push 0
push str.rows_deleted
push 0
xor edx, edx
mov ecx, ebx
call fcn.180f8ac1
add esp, 0xc
jmp 0x1811280a
mov ebx, eax
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x18112bab
mov eax, dword [esp + 0x6c]
mov dword [ecx + 0x1b8], eax
and dword [esp + 0x70], 0
mov edx, dword [esp + 0x40]
mov ecx, ebx
call fcn.18111206
cmp dword [ebp + 8], 0
je 0x18112bc6
mov edx, dword [ebp + 8]
mov ecx, ebx
call fcn.181068fb
test esi, esi
je 0x18112bd3
mov edx, esi
mov ecx, ebx
call fcn.180dfba4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret