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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xec
push ebx
xor eax, eax
mov dword [esp + 4], 1
push esi
push edi
mov edi, ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x48], eax
mov dword [esp + 0x28], eax
cmp dword [ebp + 0x1c], eax
jne 0x10141b77
push 2
jmp 0x10142b99
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x10142b97
cmp dword [esi + 0x48], 3
jne 0x10142b97
mov ebx, dword [ebp + 0x40]
mov eax, dword [esi + 0x10]
push ebx
push ecx
push ecx
push dword [edi + 4]
mov dword [esp + 0x34], eax
lea ecx, [esp + 0x98]
mov eax, dword [esi + 0x14]
mov dword [esp + 0x44], eax
call fcn.1013b6f0
cmp dword [esp + 0x94], 0
je 0x10141bc1
push 2
pop ebx
jmp 0x10141e21
xor ecx, ecx
push ebx
push ecx
push ecx
push dword [edi + 4]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0xd0]
call fcn.1013b6f0
cmp dword [esp + 0xcc], 0
jne 0x10141ddc
mov eax, dword [ebp + 0x28]
mov edi, dword [ebp + 0x20]
neg eax
sbb eax, eax
not eax
and eax, dword [ebp + 0x18]
mov dword [esp + 0x18], eax
test edi, edi
jne 0x10141c5c
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x34]
test eax, eax
je 0x10141de1
cmp dword [eax + 0x10], edi
je 0x10141de1
push edi
push dword [eax + 0x10]
lea ecx, [esp + 0xc8]
push dword [eax + 0x14]
call fcn.1013b81e
test eax, eax
je 0x10141dce
cmp dword [esp + 0xcc], edi
jne 0x10141dce
lea edi, [esp + 0xc0]
test edi, edi
je 0x10141e12
xor ecx, ecx
cmp dword [edi + 0x1c], ecx
je 0x10141e12
mov edx, dword [ebp + 0x24]
test edx, edx
je 0x10142b76
cmp dword [edx + 0x14], ecx
je 0x10142b76
cmp dword [edx + 0x10], ecx
je 0x10142b76
mov eax, dword [esi + 0x4c]
cmp eax, 6
jne 0x10141f81
mov dword [esp + 0x28], ecx
mov esi, ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x10141ea1
mov esi, dword [ecx + 0x18]
mov eax, esi
neg eax
sbb eax, eax
and eax, ecx
neg esi
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x34]
sbb esi, esi
and esi, eax
cmp dword [ecx + 0x18], 0
je 0x10141e9a
test eax, eax
je 0x10141e9a
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x4c]
push ebx
push edi
mov dword [esp + 0x24], 1
push dword [eax + 4]
call fcn.1013b782
cmp dword [esp + 0x58], 0
jne 0x10141f3a
push ebx
push dword [ebp + 0x3c]
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x24]
push dword [ebp + 0x38]
push dword [ebp + 0x34]
push dword [ebp + 0x30]
push eax
push dword [ebp + 0x28]
lea eax, [esp + 0x68]
push dword [ebp + 0x24]
push eax
push dword [ebp + 0x1c]
mov eax, dword [esp + 0x4c]
push dword [esp + 0x40]
push dword [eax + 0x18]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10141b3e
mov dword [esp + 0xc], eax
cmp eax, 2
je 0x10141f3a
lea ecx, [eax - 1]
neg ecx
sbb ecx, ecx
not ecx
and ecx, dword [esp + 0x1c]
mov dword [esp + 0x1c], ecx
je 0x10141e3c
and dword [esp + 0x3c], 0
cmp dword [esp + 0x68], 0
je 0x10141e38
push ebx
lea eax, [esp + 0x40]
xor edx, edx
push eax
lea eax, [esp + 0x54]
mov ecx, 0x10020c78
push eax
push 0
push 0x1003267c
call fcn.10142e5a
cmp eax, 1
jne 0x10141f3a
cmp dword [esp + 0x3c], 0
jne 0x10141e34
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10141dc6
push ebx
lea ecx, [esp + 0x40]
push ecx
lea edx, [esp + 0x54]
mov ecx, eax
call fcn.101444ea
cmp eax, 1
jne 0x10141f3a
cmp dword [esp + 0x3c], 0
jne 0x10141e34
xor ecx, ecx
mov dword [esp + 0x1c], ecx
jmp 0x10141e38
push 0
mov edx, 0x100339fc
mov ecx, ebx
call fcn.1013a62f
push 2
pop ebx
jmp 0x10141e15
cmp dword [esi + 0x4c], 3
jne 0x10141e12
cmp dword [esi + 0x30], 0x80000000
je 0x10141e12
cmp dword [esi + 0x30], 0
jbe 0x10141e12
xor eax, eax
mov edx, ecx
cmp dword [ebp + 0x2c], eax
push ecx
mov ecx, dword [ebp + 0x10]
setne al
push ebx
push eax
push 0x10033a30
push 0
call fcn.10141ab4
xor ebx, ebx
inc ebx
lea ecx, [esp + 0xc0]
call fcn.1013bc2f
lea ecx, [esp + 0x88]
call fcn.1013bc2f
mov eax, ebx
jmp 0x10142b9a
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jne 0x10141e4a
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x10141e4e
test ecx, ecx
je 0x10141e73
jmp 0x10141e4e
mov edx, dword [esp + 0x2c]
mov eax, dword [edi + 0x1c]
sub eax, dword [esp + 0x68]
cmp eax, dword [esp + 0x30]
ja 0x10141e5f
cmp ecx, edx
je 0x10141e73
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x34]
mov dword [esp + 0x28], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0x4c]
call fcn.1013bc2f
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx + 0x10]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x34], eax
test ecx, ecx
jne 0x10141cc3
cmp dword [esp + 0x2c], 0
jne 0x10141ebd
mov edx, dword [ebp + 0x1c]
xor eax, eax
cmp dword [ebp + 0x2c], eax
push ecx
mov ecx, dword [ebp + 0x10]
setne al
push ebx
push eax
push 0x10033a70
push edi
call fcn.10141ab4
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10142b6b
cmp dword [ebp + 0x2c], 0
jne 0x10141f48
test esi, esi
je 0x10141f48
mov ecx, dword [esi + 0x18]
mov esi, dword [ebp + 0x3c]
test ecx, ecx
je 0x10141f4b
cmp dword [esi + 0x1c], 0
mov eax, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x48], eax
mov dword [esp + 0x30], ecx
je 0x10141f17
push 0x10033b08
mov ecx, esi
call fcn.1013b8f3
test eax, eax
je 0x10141dce
cmp dword [esi + 0xc], 0
jne 0x10141dce
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x30]
push 0
push ecx
push eax
mov ecx, esi
call fcn.1013b81e
test eax, eax
je 0x10141dce
cmp dword [esi + 0xc], 0
jne 0x10141dce
mov eax, dword [esp + 0x28]
jmp 0x10141f4b
lea ecx, [esp + 0x4c]
call fcn.1013bc2f
jmp 0x10141ddc
mov esi, dword [ebp + 0x3c]
push ebx
push esi
push dword [ebp + 0x38]
mov ecx, dword [esp + 0x20]
push dword [ebp + 0x34]
push dword [ebp + 0x30]
push dword [ebp + 0x2c]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
push edi
push dword [ebp + 0x1c]
push dword [esp + 0x40]
push dword [eax + 0x18]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10141b3e
jmp 0x10142b6f
cmp eax, 1
je 0x10141fca
jle 0x10141fa1
cmp eax, 3
jle 0x10141fc2
cmp eax, 4
je 0x10141fb9
cmp eax, 5
je 0x10141fca
cmp eax, 7
je 0x10141fa8
cmp eax, 8
je 0x10141fca
push 3
jmp 0x10141dde
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebp + 0x3c]
call fcn.1013bbeb
jmp 0x101420d7
mov dword [esp + 0x2c], ecx
jmp 0x101420d9
mov eax, ecx
mov dword [esp + 0x40], ecx
jmp 0x10141fd1
mov eax, dword [esi + 0x28]
mov dword [esp + 0x40], eax
mov dword [esp + 0x2c], edx
cmp dword [ebp + 0x2c], ecx
jne 0x101420d9
mov ecx, dword [ebp + 0x38]
cmp dword [ecx], 0
mov ecx, dword [ebp + 0x3c]
je 0x10142011
push ecx
push ecx
mov ecx, dword [ebp + 8]
push eax
push edx
mov edx, dword [ebp + 0xc]
call fcn.10142cb5
test eax, eax
je 0x101420c5
mov eax, dword [ebp + 0xc]
push 0
push 1
push 0x1003168c
jmp 0x101420b6
cmp dword [ecx + 0x1c], 0
je 0x1014206a
mov eax, dword [ebp + 0x34]
push 0
push 0xe
push 0x10033af8
mov esi, dword [eax]
push eax
mov ecx, dword [esi + 0x10]
call dword [0x101a27b8]
call dword [esi + 0x10]
mov eax, dword [ebp + 0x3c]
mov ecx, dword [ebp + 0x34]
push 0
push dword [eax + 0x1c]
mov esi, dword [ecx]
push dword [eax + 0x2c]
push ecx
mov ecx, dword [esi + 0x10]
call dword [0x101a27b8]
call dword [esi + 0x10]
mov eax, dword [ebp + 0x34]
push 0
push 1
push 0x10021418
mov esi, dword [eax]
push eax
mov ecx, dword [esi + 0x10]
call dword [0x101a27b8]
call dword [esi + 0x10]
cmp dword [esp + 0x40], 0
je 0x101420c5
mov eax, dword [ebp + 0x34]
push 0
push 0x10
push 0x10033b0c
mov esi, dword [eax]
push eax
mov ecx, dword [esi + 0x10]
call dword [0x101a27b8]
call dword [esi + 0x10]
mov eax, dword [esp + 0x40]
mov ecx, dword [ebp + 0x34]
push 0
push dword [eax + 0x10]
mov esi, dword [ecx]
push dword [eax + 0x14]
push ecx
mov ecx, dword [esi + 0x10]
call dword [0x101a27b8]
call dword [esi + 0x10]
mov eax, dword [ebp + 0x34]
push 0
push 1
push 0x10021418
mov esi, dword [eax]
push eax
mov ecx, dword [esi + 0x10]
call dword [0x101a27b8]
call dword [esi + 0x10]
mov ecx, dword [ebp + 0x3c]
call fcn.1013bbeb
mov eax, dword [ebp + 0x24]
mov esi, dword [ebp + 0x14]
mov dword [esp + 0x2c], eax
xor ecx, ecx
cmp dword [ebp + 0x28], 0
je 0x1014217c
cmp dword [esi + 0x4c], 5
je 0x101420f9
cmp dword [esi + 0x4c], 8
je 0x101420f9
cmp dword [esi + 0x4c], 7
jne 0x1014217c
cmp dword [esi + 0x20], ecx
jne 0x1014217c
lea ecx, [esp + 0x88]
call fcn.1013bbeb
mov esi, dword [edi + 0x1c]
test esi, esi
je 0x1014212b
push 0
push esi
push dword [edi + 0x2c]
lea ecx, [esp + 0x94]
call fcn.1013b81e
push esi
mov ecx, edi
call fcn.1013b926
cmp dword [esp + 0x94], 0
jne 0x10141ddc
mov esi, dword [ebp + 0x14]
mov eax, dword [esp + 0x20]
cmp dword [esi + 0x4c], 3
jne 0x10142981
mov ecx, dword [esp + 0x1c]
mov edx, SysReAllocString
cmp dword [esi + 0x34], edx
je 0x1014295a
add eax, ecx
cmp eax, dword [esi + 0x34]
jbe 0x1014295a
xor eax, eax
cmp dword [ebp + 0x2c], eax
push ecx
push ebx
setne al
push eax
push 0x10033df4
jmp 0x10142b42
mov eax, dword [esi + 0x20]
test eax, eax
je 0x10142223
mov edx, dword [eax + 0x10]
test edx, edx
je 0x101421c6
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x101421aa
push ebx
lea eax, [esp + 0x14]
push eax
push edi
push 0
push 0x1003267c
call fcn.10142e5a
jmp 0x101421ad
push 2
pop eax
cmp eax, 1
jne 0x10141ddc
mov eax, dword [esp + 0x10]
test eax, eax
je 0x101421f9
push eax
mov ecx, edi
call fcn.1013b926
push ebx
lea eax, [esp + 0x14]
xor edx, edx
push eax
push edi
push 0
push 0x1003267c
mov ecx, 0x10031658
call fcn.10142e5a
mov dword [esp + 0xc], eax
cmp eax, 1
jne 0x10141ddc
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1014220e
mov ecx, edi
jmp 0x10142253
xor eax, eax
cmp dword [ebp + 0x2c], eax
push ecx
push ebx
setne al
push eax
push 0x10033b60
jmp 0x10142b42
xor eax, eax
cmp dword [ebp + 0x2c], eax
push ecx
push ebx
setne al
push eax
push 0x10033b20
jmp 0x10142b42
push ebx
lea eax, [esp + 0x14]
xor edx, edx
push eax
push edi
push ecx
push 0x1003267c
mov ecx, 0x10031658
call fcn.10142e5a
mov dword [esp + 0xc], eax
cmp eax, 1
jne 0x10141ddc
mov eax, dword [esp + 0x10]
mov ecx, edi
test eax, eax
je 0x1014226b
push eax
call fcn.1013b926
and dword [esp + 0x18], 0
mov dword [esp + 0x30], 1
jmp 0x10142828
push ebx
push 6
push 0
mov edx, 0x1003267c
call fcn.1014728c
cmp dword [edi + 0xc], 0
mov edx, eax
mov dword [esp + 0x10], edx
jne 0x10141ddc
test edx, edx
je 0x10142828
push edx
mov ecx, edi
call fcn.1013b926
jmp 0x10142828
cmp dword [esp + 0x28], 0
jne 0x101422da
push ebx
lea eax, [esp + 0x14]
xor edx, edx
push eax
push edi
push 0
push 0x1003267c
mov ecx, 0x10020c78
call fcn.10142e5a
mov ecx, eax
mov dword [esp + 0xc], ecx
cmp ecx, 1
jne 0x10141ddc
cmp dword [esp + 0x10], 0
jne 0x10142837
cmp dword [esi + 0x4c], 2
je 0x101422ea
cmp dword [esi + 0x4c], 3
jne 0x101423a9
mov edx, dword [esi + 0x1c]
lea eax, [esp + 0x10]
mov ecx, dword [esi + 0x18]
push ebx
push eax
push edi
call fcn.10142f19
mov ecx, eax
mov dword [esp + 0xc], ecx
cmp ecx, 1
jne 0x10141ddc
mov edx, dword [esp + 0x10]
test edx, edx
je 0x101423a9
push edx
mov ecx, edi
call fcn.1013b926
cmp dword [esp + 0x44], 0
jne 0x1014233b
cmp dword [esi + 0x44], 0
je 0x10142861
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
jmp 0x1014233f
mov eax, dword [esp + 0x20]
and dword [esp + 0x44], 0
cmp dword [esi + 0x34], 0x80000000
mov dword [esp + 0x38], 1
je 0x10142364
mov ecx, dword [esp + 0x1c]
add eax, ecx
cmp eax, dword [esi + 0x34]
jae 0x10142876
mov eax, dword [esp + 0x24]
push 2
pop ecx
cmp dword [esi + 0x4c], ecx
jne 0x10142377
mov eax, dword [eax + 0x10]
mov dword [esp + 0x24], eax
cmp dword [esi + 0x40], 0
mov ecx, dword [esp + 0x34]
je 0x10142388
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x34], ecx
test eax, eax
je 0x10142394
test ecx, ecx
jne 0x10142828
xor eax, eax
cmp dword [ebp + 0x2c], eax
push ecx
push ebx
setne al
push eax
push 0x10033c80
jmp 0x10142b42
mov edx, dword [esp + 0x28]
test edx, edx
jne 0x101423ec
cmp dword [esp + 0x30], edx
jne 0x101423ec
mov eax, dword [esp + 0x18]
test eax, eax
je 0x101423ec
push ebx
lea ecx, [esp + 0x14]
mov edx, edi
push ecx
mov ecx, eax
call fcn.101444ea
mov ecx, eax
mov dword [esp + 0xc], ecx
cmp ecx, 1
jne 0x10141ddc
cmp dword [esp + 0x10], 0
jne 0x1014288b
mov edx, dword [esp + 0x28]
mov eax, dword [esi + 0x4c]
push 2
pop ecx
cmp eax, ecx
je 0x10142757
cmp eax, 3
je 0x10142757
cmp eax, 4
jne 0x1014267a
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x10141ddc
push ebx
push dword [eax + 0x10]
lea ecx, [esp + 0x54]
push dword [eax + 0x14]
mov eax, dword [esp + 0x20]
push dword [eax + 4]
call fcn.1013b4dc
cmp dword [esp + 0x58], 0
jne 0x101428e8
cmp dword [esp + 0x1c], 0
je 0x10142486
push ebx
push 6
push 0
mov edx, 0x1003267c
mov ecx, edi
call fcn.1014728c
cmp dword [edi + 0xc], 0
mov dword [esp + 0x10], eax
jne 0x101428e8
cmp eax, dword [edi + 0x1c]
jne 0x101428b6
push eax
mov ecx, edi
call fcn.1013b926
lea ecx, [esp + 0x4c]
mov dword [esp + 0x4c], 0x10005eb4
call fcn.1013b25c
jmp 0x10142828
lea ecx, [esp + 0x88]
call fcn.1013bbeb
push 0x10033d84
lea ecx, [esp + 0x50]
call fcn.1013b596
test eax, eax
je 0x101424d1
push ebx
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
push dword [ebp + 0x34]
push dword [ebp + 0x2c]
push dword [ebp + 0x24]
push edi
push dword [ebp + 0x1c]
push ecx
mov ecx, dword [esp + 0x38]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10143364
jmp 0x1014264e
push 0x10033d74
lea ecx, [esp + 0x50]
call fcn.1013b596
test eax, eax
je 0x10142519
push ebx
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
push dword [ebp + 0x34]
push dword [ebp + 0x2c]
push 0
push 0
push 1
push dword [ebp + 0x24]
mov ecx, dword [esp + 0x38]
push edi
push dword [ebp + 0x1c]
push dword [esp + 0x44]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10143678
jmp 0x1014264e
push 0x10033da8
lea ecx, [esp + 0x50]
call fcn.1013b596
test eax, eax
je 0x1014258b
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x84]
and dword [esp + 0x84], 0
push ebx
push eax
push dword [ebp + 0x1c]
call fcn.1014324c
mov dword [esp + 0xc], eax
test eax, eax
jne 0x10142565
push ebx
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
push dword [ebp + 0x34]
push dword [ebp + 0x2c]
push 0
push 0
push 3
jmp 0x101424f6
cmp eax, 1
jne 0x10142652
push ebx
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
push dword [ebp + 0x34]
push dword [ebp + 0x2c]
push dword [esp + 0x98]
push 0
push 2
jmp 0x101424f6
push 0x10033d90
lea ecx, [esp + 0x50]
call fcn.1013b596
test eax, eax
je 0x101425ae
push ebx
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
push dword [ebp + 0x34]
push dword [ebp + 0x2c]
push 0
jmp 0x10142582
push 0x10033dc8
lea ecx, [esp + 0x50]
call fcn.1013b596
test eax, eax
jne 0x10142550
push 0x10033db8
lea ecx, [esp + 0x50]
call fcn.1013b596
test eax, eax
je 0x101425ea
push ebx
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
push dword [ebp + 0x34]
push dword [ebp + 0x2c]
push 0
push 0
push 4
jmp 0x101424f6
push 0x10033de4
lea ecx, [esp + 0x50]
call fcn.1013b596
test eax, eax
je 0x10142614
push ebx
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
push dword [ebp + 0x34]
push dword [ebp + 0x2c]
push 0
push 1
push 0
jmp 0x101424f6
push 0x10033dd8
lea ecx, [esp + 0x50]
call fcn.1013b596
test eax, eax
je 0x10142664
push ebx
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
push dword [ebp + 0x34]
push dword [ebp + 0x2c]
push dword [ebp + 0x24]
push edi
push dword [ebp + 0x1c]
push ecx
mov ecx, dword [esp + 0x38]
push esi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.101442f5
mov dword [esp + 0xc], eax
cmp eax, 3
je 0x101428d2
cmp eax, 1
jne 0x101428e8
lea ecx, [esp + 0x4c]
mov dword [esp + 0x4c], 0x10005eb4
call fcn.1013b25c
jmp 0x10142817
cmp eax, 1
jne 0x1014270c
cmp dword [esp + 0x1c], 0
push ebx
je 0x101426b8
push 6
push 0
mov edx, 0x1003267c
mov ecx, edi
call fcn.1014728c
cmp dword [edi + 0xc], 0
mov dword [esp + 0x10], eax
jne 0x10141ddc
cmp eax, dword [edi + 0x1c]
jne 0x101428fe
push eax
jmp 0x10142293
push ecx
push 0
xor edx, edx
mov ecx, edi
call fcn.1014728c
cmp dword [edi + 0xc], 0
mov edx, eax
mov dword [esp + 0x10], edx
jne 0x10141ddc
test edx, edx
je 0x10142817
push 0
push edx
push dword [edi + 0x2c]
lea ecx, [esp + 0x94]
call fcn.1013b81e
cmp dword [esp + 0x94], 0
jne 0x10141ddc
push dword [esp + 0x10]
mov ecx, edi
call fcn.1013b926
jmp 0x10142817
cmp eax, 5
je 0x1014271f
cmp eax, 8
je 0x1014271f
cmp eax, 7
jne 0x10142817
mov ecx, dword [edi + 0x2c]
mov al, byte [ecx]
cmp al, 0x28
jne 0x1014272b
inc edx
jmp 0x10142730
cmp al, 0x29
jne 0x10142734
dec edx
mov dword [esp + 0x28], edx
push 0
push 1
push ecx
lea ecx, [esp + 0x94]
call fcn.1013b81e
cmp dword [esp + 0x94], 0
jne 0x10141ddc
push 1
jmp 0x10142700
cmp dword [esp + 0x44], 0
mov dword [esp + 0x38], 1
jne 0x10142945
cmp dword [esp + 0x24], 0
je 0x10142930
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x4c]
push ebx
push 0
push dword [esp + 0x20]
push dword [eax + 4]
call fcn.1013c46d
cmp dword [esp + 0x58], 0
mov dword [esp + 0x4c], 0x10005f5c
jne 0x1014291d
push ebx
push dword [ebp + 0x3c]
mov ecx, dword [ebp + 0x38]
lea eax, [esp + 0x40]
push eax
push dword [ebp + 0x34]
mov eax, dword [esp + 0x44]
push dword [ebp + 0x30]
mov dword [esp + 0x78], esi
push dword [ebp + 0x2c]
push 0
push dword [eax + 0x18]
lea eax, [esp + 0x6c]
push edi
push dword [ebp + 0x1c]
push eax
mov eax, dword [esp + 0x50]
push dword [eax + 0x18]
xor eax, eax
cmp dword [ecx], eax
push dword [ebp + 0x10]
mov ecx, dword [esp + 0x48]
setne al
push dword [ebp + 0xc]
add eax, dword [ebp + 8]
push eax
call fcn.10141b3e
and dword [esp + 0x64], 0
lea ecx, [esp + 0x4c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x4c], 0x10005f5c
cmp eax, 3
je 0x10142913
cmp eax, 1
jne 0x10142926
call fcn.1013c4d4
and dword [esp + 0x38], 0
inc dword [esp + 0x1c]
mov dword [esp + 0x44], 1
cmp dword [edi + 0x1c], 0
jne 0x1014229f
jmp 0x1014213c
cmp dword [esp + 0x38], 0
je 0x10142854
cmp dword [esi + 0x4c], 2
je 0x1014284a
cmp dword [esi + 0x4c], 3
jne 0x10142854
cmp dword [esi + 0x44], 0
je 0x10142861
inc dword [esp + 0x20]
mov dword [esp + 0x48], 1
jmp 0x1014213c
xor eax, eax
cmp dword [ebp + 0x2c], eax
push ecx
push ebx
setne al
push eax
push 0x10033c00
jmp 0x10142b42
xor eax, eax
cmp dword [ebp + 0x2c], eax
push ecx
push ebx
setne al
push eax
push 0x10033ba8
jmp 0x10142b42
cmp dword [esp + 0x38], 0
je 0x1014213c
cmp dword [esi + 0x4c], 2
je 0x101428a6
cmp dword [esi + 0x4c], 3
jne 0x1014213c
cmp dword [esi + 0x44], 0
je 0x10142861
mov eax, dword [esp + 0x20]
inc eax
jmp 0x10142140
mov edx, dword [ebp + 0x1c]
xor eax, eax
cmp dword [ebp + 0x2c], eax
push ecx
mov ecx, dword [ebp + 0x10]
setne al
push ebx
push eax
push 0x10033cf4
push edi
call fcn.10141ab4
lea ecx, [esp + 0x4c]
mov dword [esp + 0x4c], 0x10005eb4
call fcn.1013b25c
jmp 0x10142b4e
lea ecx, [esp + 0x4c]
mov dword [esp + 0x4c], 0x10005eb4
call fcn.1013b25c
jmp 0x10141ddc
xor eax, eax
cmp dword [ebp + 0x2c], eax
push ecx
push ebx
setne al
push eax
push 0x10033e30
jmp 0x10142b42
call fcn.1013c4d4
jmp 0x10142b4e
and dword [esp + 0x64], 0
lea ecx, [esp + 0x4c]
call fcn.1013c4d4
jmp 0x10141ddc
xor eax, eax
cmp dword [ebp + 0x2c], eax
push ecx
push ebx
setne al
push eax
push 0x10033d30
jmp 0x10142b42
xor eax, eax
cmp dword [ebp + 0x2c], eax
push ecx
push ebx
setne al
push eax
push 0x10033c44
jmp 0x10142b42
cmp dword [esi + 0x30], edx
je 0x101429f8
cmp ecx, dword [esi + 0x30]
jae 0x101429f8
xor eax, eax
cmp dword [ebp + 0x2c], eax
push ecx
push ebx
setne al
push eax
push 0x10033a30
jmp 0x10142b42
cmp dword [esi + 0x4c], 2
jne 0x101429a5
mov eax, dword [esp + 0x1c]
cmp eax, dword [esi + 0x30]
jae 0x101429f8
xor eax, eax
cmp dword [ebp + 0x2c], eax
push ecx
push ebx
setne al
push eax
push 0x10033e98
jmp 0x10142b42
cmp dword [esi + 0x4c], 1
jne 0x101429f8
mov esi, dword [esi + 0x14]
jmp 0x101429cc
cmp dword [esi + 0x18], 0
je 0x101429c9
push dword [esi + 0x18]
lea ecx, [esp + 0x8c]
call fcn.1013bc69
test eax, eax
jne 0x101429ed
mov esi, dword [esi + 0x10]
test esi, esi
jne 0x101429b0
xor eax, eax
cmp dword [ebp + 0x2c], eax
push ecx
push ebx
setne al
push eax
push 0x10033e64
lea eax, [esp + 0x98]
push eax
jmp 0x10142b43
mov esi, dword [ebp + 0x14]
mov dword [esp + 0xc], 1
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x38], eax
test eax, eax
je 0x10142a7d
cmp dword [ebp + 0x2c], 0
jne 0x10142a7d
cmp dword [ebp + 0x30], 0
je 0x10142a64
test al, 1
je 0x10142a38
mov edx, dword [ebp + 0x1c]
lea eax, [esp + 0x88]
push ecx
mov ecx, dword [ebp + 0x10]
push ebx
push 0
push 0x10033f20
push eax
call fcn.10141ab4
mov eax, dword [esp + 0x38]
dec eax
test byte [esp + 0xb4], 1
je 0x10142a4d
push ecx
push ebx
push 0
push 0x10033ed8
jmp 0x101429e0
shr eax, 1
je 0x10142a7d
push dword [esp + 0xb4]
mov ecx, dword [ebp + 0xc]
mov edx, eax
call fcn.10142ba3
jmp 0x10142a75
push dword [esp + 0xb4]
mov ecx, dword [ebp + 0xc]
mov edx, eax
call fcn.10142c3a
test eax, eax
je 0x10141ddc
cmp dword [esp + 0x30], 0
je 0x10142a96
cmp dword [esp + 0x48], 0
je 0x10142ad4
push dword [esp + 0x10]
mov ecx, edi
call fcn.1013b926
mov ecx, dword [ebp + 0x2c]
mov eax, dword [esp + 0xc]
cmp dword [esp + 0x2c], 0
je 0x10142af5
test ecx, ecx
jne 0x10142af5
mov ecx, dword [ebp + 0x38]
mov eax, dword [esi + 0x4c]
add eax, 0xfffffffe
cmp dword [ecx], 0
je 0x10142ae6
cmp eax, 1
ja 0x10142ac6
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
call fcn.10151fb5
mov edx, dword [esp + 0x2c]
mov ecx, dword [ebp + 0xc]
call fcn.10142de9
jmp 0x10142af1
xor eax, eax
cmp dword [ebp + 0x2c], eax
push ecx
push ebx
setne al
push eax
push 0x10033fc8
jmp 0x10142b42
cmp eax, 1
ja 0x10142af1
mov dword [ecx], 1
mov eax, dword [esp + 0xc]
cmp eax, 1
jne 0x10142b6f
cmp dword [ebp + 0x28], 0
je 0x10142b6f
cmp dword [esi + 0x4c], 5
je 0x10142b6f
cmp dword [esi + 0x4c], 8
je 0x10142b6f
cmp dword [esi + 0x4c], 7
je 0x10142b6f
push ebx
push 6
push 0
mov edx, 0x1003267c
mov ecx, edi
call fcn.1014728c
cmp dword [edi + 0xc], 0
jne 0x10141ddc
cmp eax, dword [edi + 0x1c]
je 0x10142b6b
xor eax, eax
cmp dword [ebp + 0x2c], eax
push ecx
push ebx
setne al
push eax
push 0x10033f68
push edi
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x10]
call fcn.10141ab4
mov ecx, dword [ebp + 0x2c]
mov esi, dword [ebp + 0x14]
push 3
pop eax
mov dword [esp + 0xc], eax
test ecx, ecx
je 0x10142a9d
and dword [ecx], 0
jmp 0x10142a9d
mov eax, dword [esp + 0xc]
mov ebx, eax
jmp 0x10141e15
mov edx, dword [ebp + 0x1c]
xor eax, eax
cmp dword [ebp + 0x2c], eax
push ecx
mov ecx, dword [ebp + 0x10]
setne al
push ebx
push eax
push 0x10033ac4
push edi
call fcn.10141ab4
jmp 0x10141fa1
push 3
pop eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x3c