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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1ac
mov eax, dword [0x1819f008]
xor eax, esp
mov dword [esp + 0x1a8], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, edx
mov dword [esp + 0x10], eax
push edi
mov edi, ecx
mov dword [esp + 0x10], esi
lea ecx, [esp + 0xf8]
mov dword [esp + 0x1c], ebx
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x50]
cmp byte [edi + 0x26], 0
mov eax, dword [eax + 4]
mov dword [esp + 0xc], eax
je 0x180c3c4e
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x2c], 0
je 0x180c3c4e
mov ecx, edi
call fcn.180b92f6
cmp dword [eax*4 + 0x18172bb8], 0xa
jne 0x180c3c4e
cmp dword [edi + 0x20], 3
je 0x180c3c4e
mov eax, dword [esp + 0x14]
mov edx, esi
push eax
push ebx
mov ecx, edi
call fcn.180c49aa
pop ecx
pop ecx
jmp 0x180c4903
mov ecx, edi
call fcn.180b9322
test al, al
je 0x180c3dc4
mov ecx, dword [esp + 0xc]
push edi
push esi
call fcn.180bdb44
mov eax, dword [eax + 0x24]
cmp eax, 1
je 0x180c3dc4
mov eax, dword [esp + 0x14]
push edi
cmp byte [eax + 0x2e], 0
je 0x180c3cf2
push dword [esp + 0x10]
mov edx, esi
lea ecx, [esp + 0x64]
call fcn.180c392a
mov esi, dword [esp + 0x64]
pop ecx
pop ecx
cmp esi, dword [esp + 0x60]
je 0x180c3ce0
xor eax, eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x30]
push eax
push esi
push edi
push dword [esp + 0x1c]
call fcn.180bd420
push dword [esp + 0x14]
lea eax, [esp + 0x34]
mov edx, esi
push ebx
push eax
mov ecx, edi
call fcn.180c3b35
add esp, 0xc
add esi, 0x20
mov ebx, eax
push 0
pop eax
cmp esi, dword [esp + 0x60]
jne 0x180c3c9c
mov dword [esp + 0x1c], ebx
lea ecx, [esp + 0x5c]
call fcn.180c555d
mov esi, dword [esp + 0x1c]
jmp 0x180c3dbd
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x104]
push esi
push eax
call fcn.180bd4e2
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x160]
push edi
push esi
push eax
call fcn.180bd537
mov ecx, dword [esp + 0x104]
push eax
lea eax, [esp + 0x104]
push eax
mov edx, dword [ecx]
call dword [edx + 0x10]
lea ecx, [esp + 0x160]
mov bl, al
call fcn.180b9583
mov esi, dword [esp + 0x1c]
test bl, bl
jne 0x180c3db1
push dword [esp + 0x14]
lea eax, [esp + 0x12c]
mov ecx, edi
push esi
push eax
lea edx, [esp + 0x114]
call fcn.180c3b35
mov ecx, dword [esp + 0x110]
lea edx, [esp + 0x10c]
add esp, 0xc
mov esi, eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x44]
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x160]
push edi
push dword [esp + 0x14]
push eax
call fcn.180bd537
mov ecx, dword [esp + 0x104]
push eax
lea eax, [esp + 0x104]
push eax
mov edx, dword [ecx]
call dword [edx + 0x10]
lea ecx, [esp + 0x160]
mov bl, al
call fcn.180b9583
jmp 0x180c3d3e
lea ecx, [esp + 0x100]
call fcn.180b9583
mov eax, esi
jmp 0x180c4903
xor eax, eax
cmp dword [edi + 0x20], 3
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], eax
jne 0x180c3de5
mov ecx, dword [esp + 0xc]
push edi
push esi
call fcn.180baa65
mov dword [esp + 0x1c], eax
jmp 0x180c3e08
mov eax, dword [edi + 0x30]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x2f], 0
jne 0x180c3e00
mov ecx, dword [esp + 0xc]
push edi
push esi
call fcn.180ba9dd
test al, al
je 0x180c3e08
mov dword [esp + 0x1c], 1
xor eax, eax
cmp dword [esp + 0x1c], 1
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
jle 0x180c3e9c
mov ecx, edi
call fcn.180b9322
test al, al
je 0x180c3e9c
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x2e], 0
je 0x180c3e9c
push edi
push ecx
push dword [esp + 0x24]
mov edx, esi
lea ecx, [esp + 0xa4]
call fcn.180c0f8d
lea ecx, [esp + 0x30]
mov dword [esp + 0x24], eax
add esp, 0xc
cmp ecx, eax
je 0x180c3e7c
call fcn.18008b54
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
mov dword [esp + 0x24], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x28], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x2c], eax
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov ecx, dword [esp + 0x98]
test ecx, ecx
je 0x180c3e9c
mov eax, dword [esp + 0xa0]
sub eax, ecx
and eax, 0xfffffffc
push eax
push ecx
call fcn.18009131
pop ecx
pop ecx
mov ecx, edi
call fcn.180d9ca0
test al, al
je 0x180c4491
cmp dword [esp + 0x1c], 0
je 0x180c48f8
mov eax, dword [esp + 0x14]
cmp ebx, dword [eax]
jb 0x180c3ec8
push ebx
mov ecx, eax
call fcn.180b8f3b
mov ebx, eax
mov ecx, edi
call fcn.180b92f6
dec eax
cmp eax, 0x11
ja case.0x180c3ed9.9
jmp dword [eax*4 + 0x180c491a]
push ecx
push ecx
mov ecx, dword [esp + 0x14]
push 1
push edi
push esi
call fcn.180bd2b4
push eax
lea ecx, [esp + 0xa8]
call fcn.180b770a
mov edx, esi
mov ecx, edi
call fcn.180c4f67
push ecx
mov ecx, dword [esp + 0x18]
push ebx
push eax
lea eax, [esp + 0xb0]
push eax
push dword [edi + 0x28]
call fcn.1809100f
lea ecx, [esp + 0xa4]
mov ebx, eax
call fcn.180b7749
jmp 0x180c48f8
push ecx
push ecx
mov ecx, dword [esp + 0x14]
push 2
push edi
push esi
call fcn.180bd2b4
push eax
lea ecx, [esp + 0xb4]
call fcn.180b7904
mov edx, esi
mov ecx, edi
call fcn.180c4f67
mov ecx, dword [esp + 0x14]
push ebx
push eax
lea eax, [esp + 0xb8]
push eax
push dword [edi + 0x28]
call fcn.180c5835
lea ecx, [esp + 0xb0]
mov ebx, eax
call fcn.180b7943
jmp 0x180c48f8
push ecx
push ecx
mov ecx, dword [esp + 0x14]
push 1
push edi
push esi
call fcn.180bd2b4
push eax
lea ecx, [esp + 0xc0]
call fcn.180b770a
mov edx, esi
mov ecx, edi
call fcn.180c4f67
mov ecx, dword [esp + 0x14]
push ebx
push eax
lea eax, [esp + 0xc4]
push eax
push dword [edi + 0x28]
call fcn.180c589f
lea ecx, [esp + 0xbc]
jmp 0x180c3f23
push ecx
push ecx
mov ecx, dword [esp + 0x14]
push 2
push edi
push esi
call fcn.180bd2b4
push eax
lea ecx, [esp + 0xcc]
call fcn.180b7904
mov edx, esi
mov ecx, edi
call fcn.180c4f67
mov ecx, dword [esp + 0x14]
push ebx
push eax
lea eax, [esp + 0xd0]
push eax
push dword [edi + 0x28]
call fcn.180c5901
lea ecx, [esp + 0xc8]
jmp 0x180c3f71
push ecx
push ecx
mov ecx, dword [esp + 0x14]
push 3
push edi
push esi
call fcn.180bd2b4
push eax
lea ecx, [esp + 0xd8]
call fcn.180b770a
mov edx, esi
mov ecx, edi
call fcn.180c4f67
mov ecx, dword [esp + 0x14]
push ebx
push eax
lea eax, [esp + 0xdc]
push eax
push dword [edi + 0x28]
call fcn.180c596b
lea ecx, [esp + 0xd4]
mov ebx, eax
call fcn.180b7749
jmp 0x180c48f8
push ecx
push ecx
mov ecx, dword [esp + 0x14]
push 4
push edi
push esi
call fcn.180bd2b4
push eax
lea ecx, [esp + 0xe4]
call fcn.180b7904
mov edx, esi
mov ecx, edi
call fcn.180c4f67
mov ecx, dword [esp + 0x14]
push ebx
push eax
lea eax, [esp + 0xe8]
push eax
push dword [edi + 0x28]
call fcn.180c5835
lea ecx, [esp + 0xe0]
mov ebx, eax
call fcn.180b7943
jmp 0x180c48f8
push ecx
push ecx
mov ecx, dword [esp + 0x14]
push 1
push edi
push esi
call fcn.180bd2b4
push eax
lea ecx, [esp + 0xf0]
call fcn.180b770a
mov edx, esi
mov ecx, edi
call fcn.180c4f67
push ecx
mov ecx, dword [esp + 0x18]
push ebx
push eax
lea eax, [esp + 0xf8]
push eax
push dword [edi + 0x28]
call fcn.1809100f
lea ecx, [esp + 0xec]
jmp 0x180c3f23
push ecx
push ecx
mov ecx, dword [esp + 0x14]
push 3
push edi
push esi
call fcn.180bd2b4
push eax
lea ecx, [esp + 0x6c]
call fcn.180b770a
mov eax, dword [edi + 0x28]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x18], eax
cmp ebx, dword [edi]
jb 0x180c4121
push ebx
mov ecx, edi
call fcn.180b8f3b
mov ebx, eax
mov esi, dword [esp + 0x68]
push ebx
shl esi, 2
push esi
push dword [esp + 0x20]
call fcn.18081170
push eax
push esi
push dword [esp + 0x78]
mov ecx, edi
call fcn.180b6fcc
lea ecx, [esp + 0x68]
jmp 0x180c404d
push ecx
push ecx
mov ecx, dword [esp + 0x14]
push 4
push edi
push esi
call fcn.180bd2b4
push eax
lea ecx, [esp + 0x78]
call fcn.180b7904
mov eax, dword [edi + 0x28]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x18], eax
cmp ebx, dword [edi]
jb 0x180c417b
push ebx
mov ecx, edi
call fcn.180b8f3b
mov ebx, eax
mov esi, dword [esp + 0x74]
push ebx
shl esi, 3
push esi
push dword [esp + 0x20]
call fcn.18081170
push eax
push esi
push dword [esp + 0x84]
mov ecx, edi
call fcn.180b6fcc
lea ecx, [esp + 0x74]
jmp 0x180c409b
push ecx
push ecx
mov ecx, dword [esp + 0x14]
push 1
push edi
push esi
call fcn.180bd2b4
push eax
lea ecx, [esp + 0x84]
call fcn.180b770a
mov eax, dword [edi + 0x28]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x18], eax
cmp ebx, dword [edi]
jb 0x180c41db
push ebx
mov ecx, edi
call fcn.180b8f3b
mov ebx, eax
mov esi, dword [esp + 0x80]
push ebx
shl esi, 2
push esi
push dword [esp + 0x20]
call fcn.18081170
push eax
push esi
push dword [esp + 0x90]
mov ecx, edi
call fcn.180b6fcc
lea ecx, [esp + 0x80]
jmp 0x180c3f23
push ecx
push ecx
mov ecx, dword [esp + 0x14]
push 2
push edi
push esi
call fcn.180bd2b4
push eax
lea ecx, [esp + 0x90]
call fcn.180b7904
mov eax, dword [edi + 0x28]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x18], eax
cmp ebx, dword [edi]
jb 0x180c4241
push ebx
mov ecx, edi
call fcn.180b8f3b
mov ebx, eax
mov esi, dword [esp + 0x8c]
push ebx
shl esi, 3
push esi
push dword [esp + 0x20]
call fcn.18081170
push eax
push esi
push dword [esp + 0x9c]
mov ecx, edi
call fcn.180b6fcc
lea ecx, [esp + 0x8c]
jmp 0x180c3f71
push ecx
push ecx
mov ecx, dword [esp + 0x14]
push 6
push edi
push esi
call fcn.180bd2b4
mov ecx, eax
xor eax, eax
mov dword [esp + 0x18], ecx
mov esi, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
cmp dword [ecx], eax
je 0x180c42ce
push dword [ecx]
lea ecx, [esp + 0x3c]
call fcn.180b77d6
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x38]
mov eax, dword [ecx]
add esi, eax
shl eax, 2
push eax
push dword [ecx + 8]
mov eax, dword [esp + 0x48]
push eax
mov dword [esp + 0x44], esi
mov dword [esp + 0x1c], eax
call fcn.1812c230
add esp, 0xc
mov eax, dword [edi + 0x28]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x18], eax
cmp ebx, dword [edi]
jb 0x180c42eb
push ebx
mov ecx, edi
call fcn.180b8f3b
mov ebx, eax
mov eax, dword [esp + 0x18]
push ebx
shl esi, 2
push esi
push eax
call fcn.18081170
push eax
mov eax, dword [esp + 0x14]
mov ecx, edi
push esi
push eax
call fcn.180b6fcc
lea ecx, [esp + 0x38]
mov ebx, eax
call fcn.180b7749
jmp 0x180c48f8
push ecx
push ecx
mov ecx, dword [esp + 0x14]
push 5
push edi
push esi
call fcn.180bd2b4
mov ecx, eax
xor eax, eax
mov dword [esp + 0x18], ecx
mov esi, eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
cmp dword [ecx], eax
je 0x180c4370
push dword [ecx]
lea ecx, [esp + 0x48]
call fcn.180b79d9
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x44]
mov eax, dword [ecx]
add esi, eax
shl eax, 3
push eax
push dword [ecx + 8]
mov eax, dword [esp + 0x54]
push eax
mov dword [esp + 0x50], esi
mov dword [esp + 0x1c], eax
call fcn.1812c230
add esp, 0xc
mov eax, dword [edi + 0x28]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x18], eax
cmp ebx, dword [edi]
jb 0x180c438d
push ebx
mov ecx, edi
call fcn.180b8f3b
mov ebx, eax
mov eax, dword [esp + 0x18]
push ebx
shl esi, 3
push esi
push eax
call fcn.18081170
push eax
mov eax, dword [esp + 0x14]
mov ecx, edi
push esi
push eax
call fcn.180b6fcc
lea ecx, [esp + 0x44]
mov ebx, eax
call fcn.180b7943
jmp 0x180c48f8
push ecx
push ecx
mov ecx, dword [esp + 0x14]
push 7
push edi
push esi
call fcn.180bd2b4
mov esi, eax
xor eax, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x1c], eax
cmp dword [esi], eax
je 0x180c440c
push dword [esi]
lea ecx, [esp + 0x54]
call fcn.180b75e7
push dword [esi]
mov eax, dword [esp + 0x54]
add eax, dword [esi]
push dword [esi + 8]
mov dword [esp + 0x24], eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x60]
push eax
mov dword [esp + 0x1c], eax
call fcn.1812c230
add esp, 0xc
mov esi, dword [esp + 0x14]
mov eax, dword [edi + 0x28]
mov dword [esp + 0x18], eax
cmp ebx, dword [esi]
jb 0x180c4429
push ebx
mov ecx, esi
call fcn.180b8f3b
mov ebx, eax
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
push ebx
push edi
push eax
call fcn.18081170
push eax
mov eax, dword [esp + 0x14]
mov ecx, esi
push edi
push eax
call fcn.180b6fcc
lea ecx, [esp + 0x50]
mov ebx, eax
call fcn.180b7563
jmp 0x180c48f8
push 0x524
push str.T:_srcpipergoogle3_third_partyprotobuf_legacy_opensource_srcgoogleprotobufwire_format.cc
push 3
lea ecx, [esp + 0x19c]
call fcn.180b6ef9
mov esi, eax
push str.Invalid_descriptor
lea ecx, [esi + 0xc]
call fcn.1804a031
push esi
call fcn.180b6f22
lea ecx, [esp + 0x19c]
call fcn.1800ce96
jmp 0x180c48f8
xor eax, eax
mov dword [esp + 0x10], eax
cmp dword [esp + 0x1c], eax
jle 0x180c48f8
mov eax, dword [esp + 0x14]
cmp ebx, dword [eax]
jb 0x180c44b3
push ebx
mov ecx, eax
call fcn.180b8f3b
mov ebx, eax
mov ecx, edi
call fcn.180b92f6
dec eax
cmp eax, 0x11
ja case.default.0x180c44c4
jmp dword [eax*4 + 0x180c4962]
cmp dword [edi + 0x20], 3
mov ecx, dword [esp + 0xc]
jne 0x180c44e3
mov eax, dword [esp + 0x10]
push eax
push edi
push esi
call fcn.180bb195
jmp 0x180c44ea
push edi
push esi
call fcn.180bb05e
push ebx
push eax
push dword [edi + 0x28]
call fcn.1804c3c4
add esp, 0xc
mov ebx, eax
jmp case.default.0x180c44c4
cmp dword [edi + 0x20], 3
mov ecx, dword [esp + 0xc]
jne 0x180c4516
mov eax, dword [esp + 0x10]
push eax
push edi
push esi
call fcn.180bb426
jmp 0x180c451d
push edi
push esi
call fcn.180bb2d9
push ebx
push edx
push eax
push dword [edi + 0x28]
call fcn.1804c3e7
add esp, 0x10
jmp 0x180c44f7
cmp dword [edi + 0x20], 3
mov ecx, dword [esp + 0xc]
jne 0x180c4545
mov eax, dword [esp + 0x10]
push eax
push edi
push esi
call fcn.180bb195
jmp 0x180c454c
push edi
push esi
call fcn.180bb05e
push ebx
push eax
push dword [edi + 0x28]
call fcn.18081208
jmp 0x180c44f4
cmp dword [edi + 0x20], 3
mov ecx, dword [esp + 0xc]
jne 0x180c4570
mov eax, dword [esp + 0x10]
push eax
push edi
push esi
call fcn.180bb426
jmp 0x180c4577
push edi
push esi
call fcn.180bb2d9
push ebx
push edx
push eax
push dword [edi + 0x28]
call fcn.180c0d7f
jmp 0x180c4528
cmp dword [edi + 0x20], 3
mov ecx, dword [esp + 0xc]
jne 0x180c459c
mov eax, dword [esp + 0x10]
push eax
push edi
push esi
call fcn.180bb6aa
jmp 0x180c45a3
push edi
push esi
call fcn.180bb573
push ebx
push eax
push dword [edi + 0x28]
call fcn.1804c40a
jmp 0x180c44f4
cmp dword [edi + 0x20], 3
mov ecx, dword [esp + 0xc]
jne 0x180c45ca
mov eax, dword [esp + 0x10]
push eax
push edi
push esi
call fcn.180bb93b
jmp 0x180c45d1
push edi
push esi
call fcn.180bb7ee
push ebx
push edx
push eax
push dword [edi + 0x28]
call fcn.1804c3e7
jmp 0x180c4528
cmp dword [edi + 0x20], 3
mov ecx, dword [esp + 0xc]
jne 0x180c45f9
mov eax, dword [esp + 0x10]
push eax
push edi
push esi
call fcn.180bb6aa
jmp 0x180c4600
push edi
push esi
call fcn.180bb573
push ebx
push eax
push dword [edi + 0x28]
call fcn.180c0da1
jmp 0x180c44f4
cmp dword [edi + 0x20], 3
mov ecx, dword [esp + 0xc]
jne 0x180c4627
mov eax, dword [esp + 0x10]
push eax
push edi
push esi
call fcn.180bb93b
jmp 0x180c462e
push edi
push esi
call fcn.180bb7ee
push ebx
push edx
push eax
push dword [edi + 0x28]
call fcn.180c0dc2
jmp 0x180c4528
cmp dword [edi + 0x20], 3
mov ecx, dword [esp + 0xc]
jne 0x180c4656
mov eax, dword [esp + 0x10]
push eax
push edi
push esi
call fcn.180bb195
jmp 0x180c465d
push edi
push esi
call fcn.180bb05e
push ebx
push eax
push dword [edi + 0x28]
call fcn.180c0da1
jmp 0x180c44f4
cmp dword [edi + 0x20], 3
mov ecx, dword [esp + 0xc]
jne 0x180c4684
mov eax, dword [esp + 0x10]
push eax
push edi
push esi
call fcn.180bb426
jmp 0x180c468b
push edi
push esi
call fcn.180bb2d9
push ebx
push edx
push eax
push dword [edi + 0x28]
call fcn.180c0dc2
jmp 0x180c4528
cmp dword [edi + 0x20], 3
mov ecx, dword [esp + 0xc]
jne 0x180c46b3
mov eax, dword [esp + 0x10]
push eax
push edi
push esi
call fcn.180bbbce
jmp 0x180c46ba
push edi
push esi
call fcn.180bba88
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
push ebx
push ecx
fstp dword [esp]
push dword [edi + 0x28]
call fcn.180c0de7
jmp 0x180c44f4
cmp dword [edi + 0x20], 3
mov ecx, dword [esp + 0xc]
jne 0x180c46ec
mov eax, dword [esp + 0x10]
push eax
push edi
push esi
call fcn.180bbe56
jmp 0x180c46f3
push edi
push esi
call fcn.180bbd16
push ebx
push ecx
push ecx
fstp qword [esp]
push dword [edi + 0x28]
call fcn.18081226
jmp 0x180c4528
cmp dword [edi + 0x20], 3
mov ecx, dword [esp + 0xc]
jne 0x180c471e
mov eax, dword [esp + 0x10]
push eax
push edi
push esi
call fcn.180bc0d8
jmp 0x180c4725
push edi
push esi
call fcn.180bbfa1
mov byte [esp + 0x18], al
push ebx
push dword [esp + 0x1c]
push dword [edi + 0x28]
call fcn.1804c426
jmp 0x180c44f4
cmp dword [edi + 0x20], 3
jne 0x180c4762
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
cmp ecx, dword [esp + 0x28]
jne 0x180c475d
mov ecx, dword [esp + 0xc]
push eax
push edi
push esi
call fcn.180bd024
jmp 0x180c476e
mov eax, dword [ecx + eax*4]
jmp 0x180c476e
push ecx
mov ecx, dword [esp + 0x10]
push edi
push esi
call fcn.180bcb4d
push dword [esp + 0x14]
mov ecx, dword [edi + 0x28]
mov edx, eax
push ebx
call fcn.180c57f1
pop ecx
pop ecx
jmp 0x180c44f7
cmp dword [edi + 0x20], 3
jne 0x180c47ab
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
cmp ecx, dword [esp + 0x28]
jne 0x180c47a6
mov ecx, dword [esp + 0xc]
push eax
push edi
push esi
call fcn.180bd024
jmp 0x180c47b7
mov eax, dword [ecx + eax*4]
jmp 0x180c47b7
push ecx
mov ecx, dword [esp + 0x10]
push edi
push esi
call fcn.180bcb4d
push dword [esp + 0x14]
mov ecx, dword [edi + 0x28]
mov edx, eax
push ebx
call fcn.180c57b7
jmp 0x180c477d
cmp dword [edi + 0x20], 3
mov ecx, dword [esp + 0xc]
jne 0x180c47e0
mov eax, dword [esp + 0x10]
push eax
push edi
push esi
call fcn.180bc947
jmp 0x180c47e7
push edi
push esi
call fcn.180bc746
push ebx
push dword [eax + 8]
push dword [edi + 0x28]
call fcn.1804c3c4
jmp 0x180c44f4
mov eax, dword [edi + 0x14]
push ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x148], 0xf
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x34], eax
xor eax, eax
cmp dword [edi + 0x20], 3
mov dword [esp + 0x144], eax
mov byte [esp + 0x134], al
jne 0x180c4836
mov eax, dword [esp + 0x14]
push eax
push edi
push esi
call fcn.180bc5c5
jmp 0x180c483d
push edi
push esi
call fcn.180bc2e5
cmp dword [esp + 0x30], 3
mov dword [esp + 0x20], eax
jne 0x180c4874
mov ecx, dword [edi + 4]
cmp dword [ecx + 0x14], 0x10
jb 0x180c4853
mov ecx, dword [ecx]
cmp dword [eax + 0x14], 0x10
mov edx, dword [eax + 0x10]
mov dword [esp + 0x30], eax
jb 0x180c4864
mov eax, dword [eax]
jmp 0x180c4868
mov eax, dword [esp + 0x30]
push ecx
push 1
mov ecx, eax
call fcn.180c7d51
pop ecx
pop ecx
mov ecx, dword [esp + 0x14]
push ebx
push dword [esp + 0x24]
push dword [edi + 0x28]
call fcn.1807c751
lea ecx, [esp + 0x130]
jmp 0x180c48de
xor eax, eax
mov dword [esp + 0x15c], 0xf
cmp dword [edi + 0x20], 3
push ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x15c], eax
mov byte [esp + 0x14c], al
jne 0x180c48c2
mov eax, dword [esp + 0x14]
push eax
push edi
push esi
call fcn.180bc5c5
jmp 0x180c48c9
push edi
push esi
call fcn.180bc2e5
mov ecx, dword [esp + 0x14]
push ebx
push eax
push dword [edi + 0x28]
call fcn.1807c751
lea ecx, [esp + 0x148]
mov ebx, eax
call fcn.1800ce96
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x1c]
jl 0x180c44a1
lea ecx, [esp + 0x24]
call fcn.18008b54
mov eax, ebx
mov ecx, dword [esp + 0x1b4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.18128eaf
mov esp, ebp
pop ebp
ret