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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x84
and dword [esp + 0x3c], 0
mov eax, ecx
and dword [esp + 0x18], 0
push ebx
push esi
mov esi, dword [eax]
mov ebx, edx
push edi
mov edi, dword [eax + 8]
mov ecx, edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x40], esi
mov dword [esp + 0x2c], edi
call fcn.180f79a6
mov ecx, edi
mov dword [esp + 0x1c], eax
call fcn.180f79a6
mov ecx, dword [ebx + 0x30]
mov dword [esp + 0x20], ecx
mov ecx, dword [ebx + 0x2c]
mov dword [esp + 0x3c], eax
mov al, byte [ebx + 4]
mov byte [esp + 0x13], al
mov edx, dword [ecx]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
cmp al, 0x74
je 0x1811f9e5
cmp byte [esi + 0x49], 0
mov dword [esp + 0x18], 1
jne 0x1811f9e5
imul eax, edx, 0x18
mov dword [esp + 0x28], eax
mov eax, dword [ebx]
mov edi, dword [esp + 0x18]
cmp edi, dword [eax]
mov edi, dword [esp + 0x2c]
jg 0x1811f9e5
xor eax, eax
mov dword [esp + 0x44], eax
test edx, edx
jle 0x1811f96d
lea eax, [ecx + 0x18]
mov dword [esp + 0x38], eax
jmp 0x1811f952
mov eax, dword [esp + 0x38]
movzx eax, word [eax]
cmp eax, dword [esp + 0x18]
je 0x1811f9d7
mov eax, dword [esp + 0x44]
add dword [esp + 0x38], 0x18
inc eax
mov dword [esp + 0x44], eax
cmp eax, edx
jl 0x1811f94e
cmp eax, edx
jne 0x1811f9d7
push 0
mov edx, 0x86
mov ecx, esi
call fcn.1810653d
pop ecx
mov ecx, eax
test ecx, ecx
je 0x1811fa40
mov eax, dword [esp + 0x18]
or dword [ecx + 4], 0x400
mov edx, dword [esp + 0x30]
mov dword [ecx + 8], eax
push ecx
mov ecx, dword [esp + 0x18]
call fcn.1810716c
pop ecx
mov ecx, eax
mov dword [esp + 0x30], ecx
mov dword [ebx + 0x2c], ecx
test ecx, ecx
je 0x1811f9d3
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
mov word [eax + ecx + 0x18], dx
mov edx, dword [esp + 0x34]
inc edx
add eax, 0x18
mov dword [esp + 0x34], edx
mov dword [esp + 0x28], eax
jmp 0x1811f9d7
mov edx, dword [esp + 0x34]
inc dword [esp + 0x18]
cmp byte [esi + 0x49], 0
je 0x1811f929
lea eax, [edx*4 + 4]
mov ecx, esi
push 0
push eax
call fcn.180dfde7
mov dword [esp + 0x54], eax
pop ecx
pop ecx
test eax, eax
je 0x1811fa48
mov ecx, dword [esp + 0x34]
xor edx, edx
inc edx
mov dword [eax], ecx
cmp ecx, edx
jl 0x1811fa2d
mov edi, dword [esp + 0x30]
mov esi, eax
add edi, 0x18
movzx eax, word [edi]
lea edi, [edi + 0x18]
dec eax
mov dword [esi + edx*4], eax
inc edx
cmp edx, ecx
jle 0x1811fa16
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x18]
mov edx, ebx
call fcn.1811eb1a
pop ecx
mov dword [esp + 0x50], eax
jmp 0x1811fa4d
push 7
pop eax
jmp 0x181200bb
and dword [esp + 0x50], 0
mov eax, dword [esp + 0x30]
mov edx, eax
mov dword [ebx + 0x2c], eax
mov eax, dword [esp + 0x14]
push 0
mov ecx, dword [eax]
call fcn.18106cf6
cmp byte [esp + 0x17], 0x74
pop ecx
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x2c], eax
jne 0x1811fa7c
and dword [esp + 0x28], 0
jmp 0x1811fb11
mov eax, dword [ebx]
mov ecx, dword [esp + 0x14]
push 0
mov edx, dword [eax]
mov eax, dword [ecx + 0x2c]
mov dword [esp + 0x3c], edx
lea esi, [eax + 1]
inc eax
push esi
add eax, edx
mov dword [esp + 0x30], esi
push 0
mov dword [ecx + 0x2c], eax
mov ecx, edi
push 0x43
pop edx
call fcn.180f7767
mov esi, dword [esp + 0x4c]
add esp, 0xc
mov edx, dword [esp + 0x38]
mov ecx, esi
push 1
call fcn.1811ddaf
mov dword [esp + 0x28], eax
pop ecx
test eax, eax
je 0x1811fb11
and dword [esp + 0x30], 0
cmp dword [esp + 0x38], 0
jle 0x1811fb11
mov esi, dword [esp + 0x14]
add eax, 0x14
mov edi, dword [esp + 0x30]
mov dword [esp + 0x44], eax
push edi
mov edx, ebx
mov ecx, esi
call fcn.1811eadc
pop ecx
mov ecx, dword [esp + 0x44]
mov dword [ecx], eax
add ecx, 4
mov eax, dword [esp + 0x24]
mov dword [esp + 0x44], ecx
mov eax, dword [eax + 0x10]
mov byte [edi + eax], 0
inc edi
cmp edi, dword [esp + 0x38]
jl 0x1811fadf
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x20]
mov edx, ebx
and dword [ebx + 0x30], 0
mov ecx, dword [esp + 0x14]
push str.ORDER
and dword [eax + 0x34], 0
push dword [ebx + 0x2c]
call fcn.181050bf
mov eax, dword [esp + 0x28]
pop ecx
pop ecx
cmp dword [eax + 0x30], 0
jne 0x1811fb51
mov ecx, dword [esp + 0x14]
mov edx, eax
push str.ORDER
push dword [eax + 0x2c]
call fcn.181050bf
pop ecx
pop ecx
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, ebx
call fcn.1811e9b8
xor eax, eax
pop ecx
cmp dword [ebx + 0xc], eax
je 0x1811fbbc
cmp byte [esp + 0x13], 0x74
jne 0x1811fbbc
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x2c]
inc eax
mov dword [esp + 0x38], eax
lea edx, [eax + 1]
mov dword [ecx + 0x2c], edx
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x44], edx
test ecx, ecx
je 0x1811fb8f
inc ecx
jmp 0x1811fb92
mov ecx, dword [ebx + 0xc]
push 0
push eax
push ecx
push 0x4b
pop edx
mov ecx, edi
call fcn.180f7767
add esp, 0xc
mov ecx, edi
push 0
push dword [esp + 0x48]
push dword [esp + 0x40]
push 0x4b
pop edx
call fcn.180f7767
add esp, 0xc
jmp 0x1811fbc4
mov dword [esp + 0x44], eax
mov dword [esp + 0x38], eax
mov edx, dword [ebx + 0x38]
test edx, edx
je 0x1811fbd2
mov ecx, esi
call fcn.181068fb
mov ecx, dword [esp + 0x14]
and dword [ebx + 0x38], 0
mov byte [esp + 0x78], 0xd
mov byte [esp + 0x60], 0xd
mov edx, dword [ecx + 0x2c]
inc edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x30], edx
lea esi, [edx + 1]
lea eax, [esi + 2]
mov dword [esp + 0x64], esi
mov dword [ecx + 0x2c], eax
xor ecx, ecx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
mov eax, dword [edi + 0x88]
inc eax
mov dword [esp + 0x18], esi
push eax
push ecx
push edx
push 0xf
pop edx
mov ecx, edi
call fcn.180f7767
mov ecx, dword [esp + 0x2c]
mov esi, eax
mov eax, dword [esp + 0x44]
add esp, 0xc
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x1a0]
mov dword [esp + 0x5c], edx
lea edx, [esp + 0x78]
push edx
mov edx, ecx
mov ecx, eax
call fcn.18121ab8
mov edx, dword [esp + 0x34]
pop ecx
mov ecx, edi
call fcn.180f7981
mov edx, esi
mov ecx, edi
call fcn.180f7ea8
mov ecx, dword [edi + 0x88]
mov dword [eax + 8], ecx
mov ecx, edi
mov eax, dword [edi + 0x88]
inc eax
push eax
push 0
push dword [esp + 0x20]
push 0xf
pop edx
call fcn.180f7767
mov edi, dword [ebx + 0xc]
add esp, 0xc
mov esi, dword [ebx + 0x10]
mov edx, ebx
and dword [ebx + 0x10], 0
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x44]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x1a0]
mov dword [esp + 0x58], ecx
lea ecx, [esp + 0x60]
push ecx
mov ecx, eax
call fcn.18121ab8
mov dword [ebx + 0xc], edi
mov edi, dword [esp + 0x1c]
mov edx, edi
mov dword [ebx + 0x10], esi
mov esi, dword [esp + 0x30]
pop ecx
mov ecx, esi
call fcn.180f7981
push dword [esp + 0x1c]
lea eax, [edi + 1]
mov edx, ebx
push dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
mov ecx, edi
push dword [esp + 0x30]
push eax
push dword [ebp + 8]
lea eax, [esp + 0x8c]
push eax
call fcn.1811f60c
mov dword [esp + 0x5c], eax
add esp, 0x18
mov al, byte [esp + 0x13]
cmp al, 0x74
je 0x1811fd21
cmp al, 0x73
jne 0x1811fd4d
push dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov edx, ebx
push dword [esp + 0x28]
add eax, 2
mov ecx, edi
push dword [esp + 0x30]
push eax
push dword [ebp + 8]
lea eax, [esp + 0x74]
push eax
call fcn.1811f60c
add esp, 0x18
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x24]
call fcn.1811de28
mov al, byte [esp + 0x13]
cmp al, 0x75
je 0x1811fe61
cmp al, 0x76
je 0x1811fe61
mov eax, dword [esp + 0x18]
mov ecx, esi
push 0
push dword [esp + 0x4c]
add eax, 2
push eax
push 0xe
pop edx
call fcn.180f7767
add esp, 0xc
mov dword [esp + 0x28], eax
mov ecx, esi
push 0
push dword [esp + 0x20]
push dword [esp + 0x20]
push 0x10
pop edx
call fcn.180f7767
mov edx, dword [esp + 0x34]
add esp, 0xc
mov ecx, esi
mov dword [esp + 0x2c], eax
call fcn.180f77c9
mov eax, dword [esp + 0x20]
mov cx, word [ebx + 6]
mov dx, word [eax + 6]
call fcn.180e3002
mov word [ebx + 6], ax
mov eax, dword [esp + 0x18]
mov ecx, esi
push 0
push dword [esp + 0x48]
inc eax
push eax
push 0xe
pop edx
call fcn.180f7767
add esp, 0xc
mov dword [esp + 0x38], eax
mov ecx, esi
push 0
push dword [esp + 0x20]
push dword [esp + 0x38]
push 0x10
pop edx
call fcn.180f7767
mov edx, dword [esp + 0x44]
add esp, 0xc
mov ecx, esi
call fcn.180f77c9
mov eax, dword [esp + 0x18]
mov ecx, esi
push 0
push dword [esp + 0x48]
inc eax
push eax
push 0xe
pop edx
call fcn.180f7767
add esp, 0xc
mov dword [esp + 0x24], eax
mov ecx, esi
push 0
push dword [esp + 0x2c]
push dword [esp + 0x38]
push 0x10
pop edx
call fcn.180f7767
mov edx, dword [esp + 0x48]
add esp, 0xc
mov ecx, esi
call fcn.180f77c9
mov al, byte [esp + 0x13]
cmp al, 0x74
jne 0x1811fe9a
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x88]
mov dword [esp + 0x44], eax
jmp 0x1811fefe
mov edx, dword [esp + 0x1c]
mov ecx, edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
cmp al, 0x76
jne 0x1811fdc4
mov eax, dword [esp + 0x20]
mov dword [esp + 0x38], ecx
movzx eax, word [eax + 6]
cmp word [ebx + 6], ax
jle 0x1811fe8d
mov word [ebx + 6], ax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], ecx
jmp 0x1811fe03
cmp al, 0x76
jne 0x1811feb7
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], eax
inc eax
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x88]
mov dword [esp + 0x44], eax
jmp 0x1811ff19
push 0
push dword [esp + 0x2c]
mov ecx, esi
push dword [esp + 0x38]
push 0x10
pop edx
call fcn.180f7767
mov edx, dword [esp + 0x48]
add esp, 0xc
mov ecx, esi
mov dword [esp + 0x28], eax
call fcn.180f77c9
cmp byte [esp + 0x13], 0x73
mov eax, dword [esp + 0x24]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x88]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
jne 0x1811ff19
mov eax, dword [esp + 0x18]
mov ecx, esi
push 0
push dword [esp + 0x4c]
add eax, 2
push eax
push 0xe
pop edx
call fcn.180f7767
add esp, 0xc
push 0
push dword [esp + 0x3c]
mov ecx, esi
push dword [esp + 0x20]
push 0x10
pop edx
call fcn.180f7767
mov edx, dword [esp + 0x48]
add esp, 0xc
mov ecx, esi
call fcn.180f77c9
mov edx, dword [esp + 0x54]
mov ecx, esi
call fcn.180f7ea8
mov ecx, dword [esi + 0x88]
push 0
push dword [esp + 0x30]
mov dword [eax + 8], ecx
mov ecx, esi
push dword [esp + 0x38]
push 0x10
pop edx
call fcn.180f7767
add esp, 0xc
mov ecx, esi
push 0
push dword [esp + 0x3c]
push dword [esp + 0x20]
push 0x10
pop edx
call fcn.180f7767
mov edx, dword [esp + 0x48]
add esp, 0xc
mov ecx, esi
call fcn.180f79e8
xor eax, eax
push eax
push eax
push eax
push 0x53
pop edx
call fcn.180f7767
add esp, 0xc
mov edx, eax
mov ecx, esi
push 0xfffffffffffffff1
push dword [esp + 0x50]
call fcn.180f7de4
push 0xfffffffffffffff7
push dword [esp + 0x5c]
mov ecx, esi
push dword [esp + 0x44]
push dword [esp + 0x7c]
push dword [esp + 0x98]
push 0x5e
pop edx
call fcn.180f7892
add esp, 0x1c
xor edx, edx
inc edx
mov ecx, esi
call fcn.180f7bf4
push dword [esp + 0x44]
push dword [esp + 0x2c]
push dword [esp + 0x2c]
push 0x12
pop edx
call fcn.180f7767
mov edx, dword [esp + 0x28]
add esp, 0xc
mov ecx, esi
call fcn.180f79e8
mov esi, dword [ebx + 0x30]
test esi, esi
je 0x18120091
mov edi, dword [esp + 0x40]
mov edx, dword [esi]
mov eax, dword [esi + 0x30]
mov dword [esp + 0x54], eax
test edx, edx
je 0x18120018
mov ecx, edi
call fcn.18107343
mov edx, dword [esi + 0x1c]
mov ecx, edi
call fcn.18111206
mov edx, dword [esi + 0x20]
test edx, edx
je 0x18120030
mov ecx, edi
call fcn.181068fb
mov edx, dword [esi + 0x24]
test edx, edx
je 0x1812003e
mov ecx, edi
call fcn.18107343
mov edx, dword [esi + 0x28]
test edx, edx
je 0x1812004c
mov ecx, edi
call fcn.181068fb
mov edx, dword [esi + 0x2c]
test edx, edx
je 0x1812005a
mov ecx, edi
call fcn.18107343
mov edx, dword [esi + 0x38]
test edx, edx
je 0x18120068
mov ecx, edi
call fcn.181068fb
mov edx, dword [esi + 0x3c]
test edx, edx
je 0x18120076
mov ecx, edi
call fcn.18111bc1
mov edx, esi
mov ecx, edi
call fcn.180dfba4
mov eax, dword [esp + 0x54]
mov esi, eax
test eax, eax
jne 0x18120004
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov ecx, edi
push 0
push dword [esp + 0x5c]
mov dword [ebx + 0x30], eax
push dword [esp + 0x64]
mov dword [eax + 0x34], ebx
movzx edx, byte [ebx + 4]
call fcn.1811df40
xor eax, eax
add esp, 0xc
cmp dword [edi + 0x24], eax
setne al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret