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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x9c
mov eax, dword [0x101dc354]
xor eax, esp
mov dword [esp + 0x98], eax
mov eax, dword [ebp + 8]
and dword [esp + 0x20], 0
push ebx
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x1c]
push esi
mov dword [esp + 0x3c], eax
mov esi, ecx
mov eax, dword [ebp + 0x2c]
push edi
mov edi, dword [ebp + 0x20]
mov dword [esp + 0x28], eax
mov eax, 0x1000
push ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0x58], esi
mov dword [esp + 0x40], edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x8c], 0x1002f068
call fcn.10142cd3
mov eax, dword [esp + 0x88]
mov dword [esp + 0x84], 0x10002da0
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x88], 0x10002898
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x18]
mov dword [esp + ecx + 0x84], eax
xor ecx, ecx
mov eax, dword [esi + 0x10c]
mov dword [esp + 0x58], eax
mov al, cl
mov dword [esp + 0x38], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x60], ecx
mov byte [esp + 0x17], al
mov byte [esp + 0x5c], al
cmp byte [ebx + 0x328], al
je 0x10143372
mov eax, dword [ebx + 0x48]
mov edi, 0x800f080d
test eax, eax
jne 0x10143357
mov eax, 0x100082e8
push eax
push 0x1005fbb8
push 1
push edi
push 0x4000000
call fcn.100ab973
add esp, 0x14
jmp 0x10144232
cmp edi, 0x70
jne 0x101433d6
cmp dword [ebx + 0x154], 0x12
jne 0x101433da
mov eax, dword [esi + 0x30]
test byte [eax + 0x31c], 0x10
je 0x101433da
mov eax, dword [ebx + 0x118]
cmp eax, dword [esi + 0x228]
je 0x101433da
mov eax, dword [ebx + 0x48]
mov edi, 0x800f0805
test eax, eax
jne 0x101433ab
mov eax, 0x100082e8
push eax
movzx eax, word [esi + 0x228]
push eax
movzx eax, word [esi + 0x22a]
push eax
push 0x1005fb58
push 1
push edi
push 0x4000000
call fcn.100ab973
add esp, 0x1c
jmp 0x10144232
test edi, edi
je 0x10143427
mov eax, dword [ebx + 0x154]
cmp eax, 6
je 0x101433ea
cmp eax, 0x14
jne 0x10143427
mov ecx, dword [esi + 0x30]
push edi
push ebx
call fcn.10132db6
mov ecx, dword [esi + 0x30]
mov edi, 0x800f081e
push edi
push ebx
add ecx, 0x200
call fcn.101550ea
mov eax, dword [ebx + 0x48]
test eax, eax
jne 0x10143415
mov eax, 0x100082e8
push eax
push 0x1005fc28
push 1
push 0x800f081e
jmp 0x10143360
mov ecx, dword [esi + 0x30]
lea eax, [esp + 0x50]
push eax
push ebx
call fcn.10129c93
mov edi, eax
test edi, edi
jns 0x10143452
mov eax, dword [ebx + 0x48]
test eax, eax
jne 0x10143447
mov eax, 0x100082e8
push eax
push 0x1005fbf0
jmp 0x1014335d
lea eax, [esp + 0x34]
mov ecx, ebx
push eax
push dword [esi + 0x30]
call fcn.1013778b
mov edi, eax
test edi, edi
jns 0x1014347e
mov eax, dword [ebx + 0x48]
test eax, eax
jne 0x10143473
mov eax, 0x100082e8
push eax
push 0x1005fcb8
jmp 0x1014335d
cmp dword [ebp + 0x14], 0
mov edx, 0x1000
mov ecx, dword [ebx + 0x1ac]
mov eax, edx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x30], eax
je 0x101434bf
mov eax, dword [esp + 0x34]
mov dword [esp + 0x30], eax
cmp ecx, edx
je 0x101434b6
mov dword [esp + 0x10], ecx
jmp 0x101435df
mov dword [esp + 0x10], eax
jmp 0x101435df
test byte [ebp + 0x10], 0x40
mov ecx, dword [esp + 0x40]
je 0x10143516
test ecx, ecx
je 0x10143516
lea eax, [esp + 0x18]
mov dword [esp + 0x18], edx
push eax
push ecx
mov ecx, dword [esi + 0x30]
mov edx, ebx
call fcn.100fa3b2
mov edi, eax
test edi, edi
jns 0x101434fe
mov eax, dword [ebx + 0x48]
test eax, eax
jne 0x101434f3
mov eax, 0x100082e8
push eax
push 0x1005fc8c
jmp 0x1014335d
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
cmp dword [esp + 0x18], eax
jle 0x1014351a
mov eax, dword [esp + 0x18]
mov dword [esp + 0x3c], eax
jmp 0x1014351a
mov eax, dword [esp + 0x3c]
cmp dword [ebp + 0x24], 0
jne 0x10143561
lea edx, [esp + 0x30]
push edx
push eax
push ecx
push ebx
push dword [esi + 0x30]
mov ecx, esi
call fcn.1014458b
mov edi, eax
test edi, edi
jns 0x1014355d
mov esi, dword [ebx + 0x48]
test esi, esi
jne 0x10143544
mov esi, 0x100082e8
mov ecx, dword [esp + 0x3c]
call fcn.100aba94
push eax
push dword [esp + 0x44]
push esi
push 0x1005fd50
jmp 0x101433c1
mov eax, dword [esp + 0x30]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1014359c
mov eax, dword [ebx + 0x48]
test eax, eax
jne 0x1014357d
mov eax, 0x100082e8
push eax
push 0x1005fcf8
push 0
push 0
push 0x4000000
call fcn.100ab973
add esp, 0x14
xor eax, eax
mov dword [esp + 0x24], eax
jmp 0x101435d4
lea eax, [esp + 0x24]
mov ecx, ebx
push eax
push 0
push dword [esi + 0x30]
call fcn.100ab845
mov edi, eax
test edi, edi
jns 0x101435ca
mov eax, dword [ebx + 0x48]
test eax, eax
jne 0x101435bf
mov eax, 0x100082e8
push eax
push 0x1005fdec
jmp 0x1014335d
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x10], eax
jl 0x101435d8
mov dword [esp + 0x10], eax
cmp eax, 0x1000
jne 0x101435f6
lea eax, [esp + 0x24]
mov ecx, ebx
push eax
push 0
push dword [esi + 0x30]
call fcn.100ab845
mov edi, eax
test edi, edi
js 0x101435b3
cmp byte [esi + 0x230], 0
je 0x10143630
cmp dword [ebp + 0x18], 0
jne 0x10143630
push 0x1005fdac
push 0
push 0
push 0x4000000
call fcn.100ab973
mov eax, dword [esp + 0x58]
add esp, 0x10
cmp eax, 0x1000
je 0x1014362a
mov ecx, eax
jmp 0x1014366c
mov ecx, dword [esp + 0x34]
jmp 0x1014366c
lea eax, [esp + 0x1c]
mov ecx, ebx
push eax
push dword [esp + 0x4c]
push dword [esp + 0x3c]
push dword [esp + 0x5c]
push dword [esi + 0x30]
call fcn.10138a4f
mov edi, eax
test edi, edi
jns 0x10143668
mov eax, dword [ebx + 0x48]
test eax, eax
jne 0x1014365d
mov eax, 0x100082e8
push eax
push 0x1005fe7c
jmp 0x1014335d
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
call fcn.10145bcc
cmp dword [esp + 0x24], 0x50
mov ecx, eax
mov dword [esp + 0x1c], ecx
jne 0x10143700
cmp dword [ebp + 0x18], 0
je 0x101436d3
cmp dword [esp + 0x10], ecx
jle 0x101436d3
mov eax, dword [ebx + 0x48]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x101436a1
mov dword [esp + 0x18], 0x100082e8
call fcn.100aba94
mov ecx, dword [esp + 0x10]
push eax
call fcn.100aba94
push eax
push dword [esp + 0x20]
push 0x1005fe28
push 0
push 0
push 0x4000000
call fcn.100ab973
mov eax, dword [esp + 0x38]
add esp, 0x1c
mov dword [esp + 0x10], eax
cmp dword [esi + 0x34], ebx
jne 0x10143700
mov eax, dword [ebx + 0x48]
test eax, eax
jne 0x101436e4
mov eax, 0x100082e8
push eax
push 0x1005fee0
push 0
push 0
push 0x4000000
call fcn.100ab973
add esp, 0x14
and dword [esp + 0x10], 0
cmp dword [ebx + 0x154], 0xd
jne 0x10143829
mov eax, dword [ebx + 0x254]
test eax, eax
je 0x1014371b
mov ecx, dword [eax]
jmp 0x1014371d
xor ecx, ecx
test ecx, ecx
je 0x10143829
and dword [esp + 0x64], 0
and dword [esp + 0x68], 0
and dword [esp + 0x6c], 0
and dword [esp + 0x70], 0
and dword [esp + 0x74], 0
test eax, eax
je 0x10143746
mov ecx, dword [eax]
jmp 0x10143748
xor ecx, ecx
mov eax, dword [ecx]
mov esi, dword [eax + 0x24]
lea eax, [esp + 0x60]
push eax
push ecx
mov ecx, esi
call dword [0x101e07c0]
call esi
mov edi, eax
test edi, edi
jns 0x10143786
push 0x1005febc
push 1
push edi
push 0x4000000
call fcn.100ab973
add esp, 0x10
lea ecx, [esp + 0x64]
call fcn.100aab88
jmp 0x10144232
mov esi, dword [esp + 0x54]
lea eax, [esp + 0x64]
push eax
push 1
push 0x12
mov ecx, dword [esi + 0x30]
push 0x1005449c
call fcn.100ae588
mov edi, eax
test edi, edi
jns 0x101437ad
push 0x1005ff50
jmp 0x10143768
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
cmp ecx, 0x70
jge 0x101437e1
cmp eax, 0x70
jl 0x101437e1
push dword [esp + 0x60]
lea ecx, [esp + 0x68]
call fcn.1011edb9
lea edi, [eax + 0x7ff8fb70]
neg edi
sbb edi, edi
and edi, eax
jge 0x10143820
push 0x1005ff2c
jmp 0x10143768
xor edx, edx
cmp dword [esi + 0x2c], edx
jne 0x10143820
cmp ecx, 0x70
jl 0x10143820
cmp eax, 0x70
jge 0x10143820
mov ecx, dword [esi + 0x30]
push edx
push edx
push ebx
call fcn.1012b965
test eax, eax
je 0x10143820
push 1
push dword [esp + 0x64]
lea ecx, [esp + 0x6c]
call fcn.100b01fa
mov edi, eax
test edi, edi
jns 0x10143820
push 0x1005ffbc
jmp 0x10143768
lea ecx, [esp + 0x64]
call fcn.100aab88
cmp dword [ebp + 0x18], 0
mov eax, dword [esp + 0x1c]
je 0x1014393f
cmp eax, 0x40
jge 0x1014393f
push ebx
mov ecx, esi
call fcn.1014a245
test eax, eax
jne 0x1014393b
mov ecx, dword [esi + 0x30]
call fcn.1012b052
test al, al
je 0x10143896
mov edx, dword [ebx + 0x40]
lea eax, [esp + 0x18]
and dword [esp + 0x18], 0
push eax
call fcn.10116407
mov edi, eax
test edi, edi
jns 0x1014388b
mov eax, dword [ebx + 0x48]
test eax, eax
jne 0x10143880
mov eax, 0x100082e8
push eax
push 0x1005ff78
jmp 0x1014335d
xor ecx, ecx
cmp dword [esp + 0x18], ecx
sete cl
jmp 0x10143899
xor ecx, ecx
inc ecx
mov eax, dword [ebx + 0x48]
mov dword [esp + 0x18], eax
test ecx, ecx
je 0x1014390b
test eax, eax
jne 0x101438b0
mov dword [esp + 0x18], 0x100082e8
mov ecx, dword [esp + 0x30]
call fcn.100aba94
mov ecx, dword [esp + 0x10]
push eax
call fcn.100aba94
mov ecx, dword [esp + 0x28]
push eax
call fcn.100aba94
mov ecx, dword [esp + 0x24]
push eax
call fcn.100aba94
mov ecx, dword [esp + 0x54]
push eax
call fcn.100aba94
mov ecx, dword [esp + 0x44]
push eax
call fcn.100aba94
push eax
push dword [esp + 0x30]
push 0x10060028
push 0
push 0
push 0x4000000
call fcn.100ab973
add esp, 0x2c
jmp 0x10144232
test eax, eax
jne 0x10143917
mov dword [esp + 0x18], 0x100082e8
mov ecx, dword [esp + 0x34]
call fcn.100aba94
push eax
push dword [esp + 0x1c]
push 0x1005ffe0
push 0
push 0
push 0x4000000
call fcn.100ab973
add esp, 0x18
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x101439fc
cmp dword [esp + 0x10], eax
jne 0x101439fc
mov ecx, dword [esi + 0x30]
cmp dword [ecx + 0x278], eax
jne 0x101439fc
cmp dword [esp + 0x24], eax
jne 0x10143995
cmp dword [esp + 0x4c], eax
je 0x10143995
cmp dword [esp + 0x28], eax
jne 0x10143995
cmp dword [ebp + 0x18], eax
jne 0x10143995
push dword [esp + 0x3c]
push ebx
call fcn.10132db6
mov ecx, dword [esi + 0x30]
push 0x800f081e
push ebx
add ecx, 0x200
call fcn.101550ea
mov esi, dword [ebx + 0x48]
test esi, esi
jne 0x101439a1
mov esi, 0x100082e8
mov ecx, dword [esp + 0x30]
call fcn.100aba94
push eax
xor ecx, ecx
call fcn.100aba94
mov ecx, dword [esp + 0x28]
push eax
call fcn.100aba94
push eax
xor ecx, ecx
call fcn.100aba94
mov ecx, dword [esp + 0x54]
push eax
call fcn.100aba94
mov ecx, dword [esp + 0x44]
push eax
call fcn.100aba94
push eax
push esi
push 0x10060118
push 0
push 0
push 0x4000000
call fcn.100ab973
add esp, 0x2c
and dword [ebx + 0x1a4], 0
jmp 0x10144232
mov eax, dword [esp + 0x20]
xor ecx, ecx
cmp dword [eax + 4], ecx
jne 0x10143be8
cmp dword [esp + 0x28], ecx
jne 0x10143be8
cmp dword [eax + 0x64], ecx
jne 0x10143be8
test dword [ebp + 0x10], 0x100
je 0x10143a5f
cmp dword [esp + 0x1c], 0x40
jl 0x10143a5f
mov eax, dword [ebx + 0x48]
test eax, eax
jne 0x10143a3a
mov eax, 0x100082e8
push eax
push 0x100600e4
push ecx
push ecx
push 0x4000000
call fcn.100ab973
mov esi, dword [esp + 0x34]
add esp, 0x14
mov dword [esi + 0x64], 1
jmp 0x10143bc9
mov eax, dword [ebx + 0x48]
test eax, eax
jne 0x10143a6b
mov eax, 0x100082e8
push eax
push 0x1006020c
push ecx
push ecx
push 0x4000000
call fcn.100ab973
mov edi, dword [esi + 0xc]
add esp, 0x14
test edi, edi
je 0x10143ac2
mov eax, dword [edi]
push 1
push 0x64
push 0x14
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x101e07c0]
mov ecx, edi
call esi
mov edi, eax
test edi, edi
jns 0x10143abe
push 0x100208e8
push 1
push edi
push 0x4000000
call fcn.100ab973
add esp, 0x10
jmp 0x10144232
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x20]
cmp dword [ecx + 0x60], 0
jne 0x10143b0b
lea edx, [ecx + 0x60]
mov ecx, dword [ecx + 0xc]
call fcn.1011cc75
mov edi, eax
test edi, edi
jns 0x10143b0b
mov eax, dword [ebx + 0x48]
test eax, eax
jne 0x10143ae9
mov eax, 0x100082e8
mov ecx, dword [esp + 0x20]
push dword [ecx + 0xc]
push eax
push 0x100601c8
push 1
push edi
push 0x4000000
call fcn.100ab973
add esp, 0x18
jmp 0x10144232
lea ecx, [esp + 0x58]
call fcn.10099234
mov edi, eax
test edi, edi
jns 0x10143b42
mov eax, dword [esp + 0x20]
push dword [eax + 0xc]
push dword [eax + 0x14]
push 0x10060268
push 1
push edi
push 0x4000000
call fcn.100ab973
add esp, 0x18
mov al, byte [esp + 0x5c]
jmp 0x10144229
push dword [esi + 0xc]
mov esi, dword [esp + 0x24]
mov edx, esi
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x124]
shr eax, 0xb
push dword [esi + 0x14]
and eax, 1
neg ecx
push dword [esi + 0xc]
sbb ecx, ecx
push dword [esi + 0x60]
not ecx
and ecx, eax
push ecx
push dword [ebp + 0x10]
mov ecx, ebx
call fcn.1011bdd6
push dword [esi + 0x14]
mov edi, eax
test edi, edi
jns 0x10143b96
push 0x1004bc50
push 1
push edi
push 0x4000000
call fcn.100ab973
add esp, 0x14
jmp 0x10143b39
push 0x1004bc98
push 0
push 0
push 0x4000000
call fcn.100ab973
mov al, byte [esp + 0x70]
add esp, 0x14
mov dword [esi + 0x64], 1
mov byte [esp + 0x17], al
test al, al
je 0x10143bc9
call fcn.100edd2d
mov byte [esp + 0x17], 0
mov ecx, dword [esi + 0x60]
test ecx, ecx
je 0x10143be8
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x101e07c0]
call esi
mov ecx, dword [esp + 0x20]
and dword [ecx + 0x60], 0
mov esi, dword [esp + 0x54]
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x30]
mov ecx, esi
push eax
push ebx
call fcn.101483e6
mov edi, eax
test edi, edi
jns 0x10143c2b
mov eax, dword [ebx + 0x48]
test eax, eax
jne 0x10143c10
mov eax, 0x100082e8
push eax
push 0x1006022c
push 1
push edi
push 0x4000000
call fcn.100ab973
add esp, 0x14
jmp 0x10144202
cmp dword [esp + 0x44], 0
je 0x10143ca9
mov edi, dword [ebx + 0x48]
test edi, edi
jne 0x10143c3e
mov edi, 0x100082e8
mov ecx, dword [esp + 0x10]
call fcn.100aba94
push eax
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x5c]
call fcn.100aba94
push eax
push edi
push 0x100602d8
push 0
push 0
push 0x4000000
call fcn.100ab973
mov ecx, dword [esp + 0x48]
add esp, 0x1c
push dword [esp + 0x24]
push dword [esp + 0x34]
push dword [esp + 0x18]
push dword [ebp + 0x28]
push dword [esp + 0x4c]
push dword [esp + 0x54]
call fcn.10166283
mov edi, eax
test edi, edi
jns 0x10143d07
mov eax, dword [ebx + 0x48]
test eax, eax
jne 0x10143c9e
mov eax, 0x100082e8
push eax
push 0x100602ac
jmp 0x10143c16
push dword [esp + 0x30]
mov ecx, dword [esp + 0x30]
push dword [esp + 0x28]
push dword [esp + 0x50]
push dword [esp + 0x40]
push dword [esp + 0x20]
push dword [esp + 0x30]
push dword [esp + 0x40]
push dword [ebp + 0x28]
push dword [ebp + 0x24]
push dword [esp + 0x60]
push dword [esp + 0x68]
push dword [esp + 0x4c]
push dword [ebp + 0x10]
push ebx
push dword [esi + 0x30]
call fcn.10165fa7
mov edi, eax
test edi, edi
jns 0x10143d07
push 0x10060370
push 1
push edi
push 0x4000000
call fcn.100ab973
add esp, 0x10
jmp 0x10144202
push dword [esp + 0x2c]
mov ecx, esi
push dword [esi + 0x30]
call fcn.1014e15a
mov edi, eax
test edi, edi
jns 0x10143d22
push 0x10060348
jmp 0x10143cf2
xor ecx, ecx
cmp dword [ebx + 0x25c], ecx
je 0x10143d45
mov eax, dword [ebx + 0x48]
test eax, eax
jne 0x10143d38
mov eax, 0x100082e8
push eax
push 0x100603f8
push ecx
push ecx
jmp 0x10143c19
xor eax, eax
inc eax
cmp dword [esp + 0x1c], 0x40
mov dword [esi + 0x44], eax
jg 0x10143d82
cmp dword [esp + 0x10], 0x60
jl 0x10143d82
push eax
push eax
push dword [esi + 0x30]
mov ecx, ebx
call fcn.1013b642
mov edi, eax
test edi, edi
jns 0x10143d82
mov eax, dword [ebx + 0x48]
test eax, eax
jne 0x10143d77
mov eax, 0x100082e8
push eax
push 0x1003647c
jmp 0x10143c16
mov eax, dword [ebx + 0x48]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x10143d95
mov dword [esp + 0x28], 0x100082e8
mov ecx, dword [esp + 0x30]
call fcn.100aba94
mov ecx, dword [esp + 0x10]
push eax
call fcn.100aba94
mov ecx, dword [esp + 0x28]
push eax
call fcn.100aba94
mov ecx, dword [esp + 0x24]
push eax
call fcn.100aba94
mov ecx, dword [esp + 0x54]
push eax
call fcn.100aba94
mov ecx, dword [esp + 0x44]
push eax
call fcn.100aba94
push eax
push dword [esp + 0x40]
push 0x10060398
push 0
push 0
push 0x4000000
call fcn.100ab973
mov ecx, dword [esp + 0x7c]
add esp, 0x2c
cmp dword [ebp + 0x30], 0
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x1c], eax
jne 0x10143e2d
push dword [esp + 0x2c]
push ecx
mov ecx, esi
call fcn.1014d850
mov edi, eax
test edi, edi
jns 0x10143e25
mov eax, dword [ebx + 0x48]
test eax, eax
jne 0x10143e1a
mov eax, 0x100082e8
push eax
push 0x10060468
jmp 0x10143c16
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x50]
cmp dword [ebp + 0x14], 0
je 0x10143e4e
mov eax, dword [ebx + 0x48]
test eax, eax
jne 0x10143e3f
mov eax, 0x100082e8
push eax
push 0x10060428
push 0
push 0
jmp 0x10143c19
mov edx, dword [ebp + 0x10]
test dl, dl
js 0x10143ea2
lea edi, [esp + 0x84]
push edi
push dword [esp + 0x34]
push eax
push dword [ebp + 0x18]
mov eax, edx
push dword [esp + 0x54]
and eax, 0x8220
push dword [esp + 0x40]
push ecx
push eax
mov eax, edx
mov ecx, esi
and eax, 0x40
push eax
push ebx
push edx
call fcn.1014c6a8
mov edi, eax
test edi, edi
jns 0x10143ea2
mov eax, dword [ebx + 0x48]
test eax, eax
jne 0x10143e97
mov eax, 0x100082e8
push eax
push 0x100604cc
jmp 0x10143c16
cmp dword [esp + 0x44], 0
jne 0x10143ec6
lea eax, [esp + 0x2c]
push eax
lea ecx, [esi + 0x6c]
call fcn.100f5bc3
mov edi, eax
test edi, edi
jns 0x10143ec6
push 0x10060498
jmp 0x10143cf2
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x90]
lea eax, [ecx + eax*4]
mov dword [esp + 0x18], eax
cmp ecx, eax
jmp 0x10144050
mov edi, dword [ecx]
mov dword [esp + 0x28], edi
mov eax, dword [edi + 4]
mov dword [esp + 0x4c], eax
cmp eax, 0x1000
jne 0x10143f0e
push 0x10060520
mov edx, 0x12c3
mov ecx, 0x100228f8
call fcn.100e970f
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x101440e9
mov eax, dword [esp + 0x50]
cmp dword [eax + 4], 0xffffffff
jne 0x10143f2a
cmp dword [edi + 8], 0
jne 0x101440e9
mov ecx, esi
call fcn.10144260
test al, al
jne 0x101440e9
push 0
lea eax, [esp + 0x3c]
push eax
push 1
push dword [edi]
push ecx
push dword [esi + 0x10c]
mov ecx, dword [esi + 0x30]
push dword [esp + 0x38]
call fcn.10131682
mov edi, eax
test edi, edi
js 0x1014413d
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x10143f8d
cmp dword [eax + 4], 0x70
jl 0x10143f8d
push ecx
push dword [esi + 0x30]
mov ecx, dword [esp + 0x40]
call fcn.1013c1e1
mov edi, eax
test edi, edi
js 0x1014411c
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x10], 4
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x38]
jne 0x10143faf
cmp dword [edx + 0x154], 0x12
jne 0x10143faf
mov ecx, dword [edx + 0x48]
test ecx, ecx
jne 0x10143faf
mov ecx, 0x100082e8
push dword [ebp + 0x30]
push dword [esp + 0x30]
push dword [eax + 0x10]
push dword [eax + 0x1c]
push dword [esp + 0x5c]
push ecx
push dword [eax + 0x18]
mov ecx, esi
push dword [eax + 0x14]
push dword [eax + 0x24]
push edx
push dword [esp + 0x48]
call fcn.10143276
mov edi, eax
cmp edi, 0x800f081e
jne 0x10144011
mov edx, dword [esp + 0x38]
mov edx, dword [edx + 0x48]
test edx, edx
jne 0x10143ff0
mov edx, 0x100082e8
mov ecx, ebx
call fcn.100f6d0b
push eax
push edx
push 0x10060548
push 0
push 0
push 0x4000000
call fcn.100ab973
add esp, 0x18
xor edi, edi
test edi, edi
js 0x10144136
mov edx, dword [esp + 0x38]
test edx, edx
je 0x10144045
mov eax, dword [edx + 4]
add edx, 4
mov eax, dword [eax + 4]
add eax, edx
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x101e07c0]
call esi
and dword [esp + 0x38], 0
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x44]
add ecx, 4
cmp ecx, dword [esp + 0x18]
mov dword [esp + 0x44], ecx
jne 0x10143ee2
mov eax, dword [esi + 0x30]
test dword [eax + 0x31c], 0x200
je 0x101441df
mov ecx, ebx
call fcn.10117e69
test al, al
je 0x101441df
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x10]
jle 0x101441df
push ecx
lea ecx, [esp + 0x68]
call fcn.100ae4d5
mov eax, dword [ebx + 0x48]
test eax, eax
jne 0x101440a0
mov eax, 0x100082e8
push eax
push 0x100605b8
push 0
push 0
push 0x4000000
call fcn.100ab973
add esp, 0x14
lea eax, [esp + 0x64]
push eax
push ebx
push dword [esi + 0x30]
call fcn.101187e6
mov edi, eax
test edi, edi
jns 0x10144161
push 0x10060660
push 1
push edi
push 0x4000000
call fcn.100ab973
add esp, 0x10
jmp 0x101441d6
push 0
lea eax, [esp + 0x3c]
push eax
push 0
push dword [edi]
push ecx
push dword [esi + 0x10c]
mov ecx, dword [esi + 0x30]
push dword [esp + 0x38]
call fcn.10131682
mov edi, eax
cmp edi, 0x80070490
jne 0x10143f59
xor edi, edi
jmp 0x10144045
push 0x10060588
push 1
push edi
push 0x4000000
call fcn.100ab973
add esp, 0x10
jmp 0x101441df
push 0x100605fc
jmp 0x10144121
mov eax, dword [ebx + 0x48]
test eax, eax
jne 0x10144149
mov eax, 0x100082e8
push eax
push 0x100604f8
push 1
push edi
push 0x2000000
call fcn.100ab973
add esp, 0x14
jmp 0x101441df
mov ebx, dword [esp + 0x78]
mov eax, dword [esp + 0x70]
lea eax, [ebx + eax*4]
mov dword [esp + 0x28], eax
cmp ebx, eax
je 0x101441d6
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x48]
test eax, eax
jne 0x10144182
mov eax, 0x100082e8
push 1
xor edx, edx
push edx
push 2
push edx
push dword [esp + 0x20]
push eax
push 1
push edx
push dword [ebp + 0x10]
push ecx
push dword [esp + 0x48]
mov ecx, esi
call fcn.10143276
mov edi, eax
test edi, edi
js 0x101441b2
add ebx, 4
cmp ebx, dword [esp + 0x28]
jne 0x10144174
jmp 0x101441d6
mov eax, dword [ebx]
mov eax, dword [eax + 0x48]
test eax, eax
jne 0x101441c0
mov eax, 0x100082e8
push eax
push 0x10060628
push 1
push edi
push 0x4000000
call fcn.100ab973
add esp, 0x14
lea ecx, [esp + 0x64]
call fcn.100a892c
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x10144202
mov eax, dword [ecx + 4]
add ecx, 4
mov eax, dword [eax + 4]
add eax, ecx
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x101e07c0]
call esi
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x10144225
mov eax, dword [ecx + 4]
add ecx, 4
mov eax, dword [eax + 4]
add eax, ecx
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x101e07c0]
call esi
mov al, byte [esp + 0x17]
test al, al
je 0x10144232
call fcn.100edd2d
lea ecx, [esp + 0x60]
call fcn.100b61be
lea ecx, [esp + 0x84]
call fcn.10142e35
mov ecx, dword [esp + 0xa4]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100b88c0
mov esp, ebp
pop ebp
ret 0x2c