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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x110
mov eax, dword [0x41f0cc]
mov edi, ecx
mov ebx, edx
mov dword [esp + 0x108], eax
mov esi, dword [edi + 0x1c8]
mov dword [esp + 4], edi
test esi, esi
jne 0x143c9b6
push pe_nt_image_headers32
push 1
call fcn.014285db
add esp, 8
mov dword [edi + 0x1c8], eax
mov dword [eax], 0
mov esi, dword [edi + 0x1c8]
mov ecx, dword [esi]
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
cmp ecx, 0x11fa
jg 0x143cb9d
cmp ecx, 0x1111
jle 0x143cc2e
cmp ecx, 0x1142
jle 0x143cebe
cmp ecx, 0x1143
je 0x143d02b
cmp ecx, 0x118e
je 0x143d11e
cmp ecx, 0x11d4
jne 0x143e02b
test edi, edi
je 0x143e11d
mov eax, dword [esp + 4]
cmp dword [edi + 8], 7
mov eax, dword [eax + 0x110]
jne 0x143d47e
push 0x40800e
push eax
call fcn.0145eb04
add esp, 8
mov ecx, edi
call fcn.0143e960
test eax, eax
mov dword [esi + 0xa4], eax
je 0x143d614
push dword [esi + 0x8c]
call fcn.01448de0
add esp, 4
mov edi, eax
push dword [esi + 0x88]
call fcn.01448de0
add esp, 4
mov ebx, eax
add ebx, edi
push dword [esi + 0xa4]
call fcn.01448de0
add esp, 4
lea ecx, [eax + ebx + 0x19]
lea eax, [eax + ebx + 0x1d]
mov dword [esp + 0x10], ecx
mov dword [esp + 8], eax
push 1
push eax
call fcn.014285db
add esp, 8
mov ecx, dword [esp + 0x10]
mov edi, eax
mov eax, ecx
shr eax, 0x18
mov byte [edi], al
mov eax, ecx
shr eax, 0x10
mov byte [edi + 1], al
mov byte [edi + 2], ch
mov byte [edi + 3], cl
mov byte [edi + 4], 3
push dword [esi + 0x88]
call fcn.01448d5c
add esp, 4
shr eax, 0x18
mov byte [edi + 5], al
push dword [esi + 0x88]
call fcn.01448d5c
add esp, 4
shr eax, 0x10
mov byte [edi + 6], al
push dword [esi + 0x88]
call fcn.01448d5c
add esp, 4
mov byte [edi + 7], ah
push dword [esi + 0x88]
call fcn.01448d5c
add esp, 4
mov byte [edi + 8], al
lea eax, [edi + 9]
push dword [esi + 0x8c]
push eax
call fcn.01448ea6
add esp, 8
mov dword [esp + 0xc], esi
lea esi, [edi + eax + 9]
mov eax, dword [esp + 0xc]
push dword [eax + 0x88]
push esi
call fcn.01448ea6
add esp, 8
mov ebx, eax
add ebx, esi
mov esi, dword [esp + 0xc]
push dword [esi + 0xa4]
push ebx
call fcn.01448ea6
add esp, 8
movsd xmm0, qword [esi + 0x2c]
movsd xmm1, qword [esi + 0x34]
lea ecx, [esp + 0x20]
movsd qword [eax + ebx + 8], xmm1
movsd qword [eax + ebx], xmm0
mov dword [eax + ebx + 0x10], 0x1000000
lea eax, [esp + 0x1c]
mov ebx, dword [esp + 4]
push ebx
push 0x43c993
push eax
push ecx
push dword [esp + 0x18]
push edi
call fcn.014636ba
add esp, 0x18
mov dword [ebx + 0x6d0], eax
mov ebx, eax
push edi
call fcn.014287a8
add esp, 4
test ebx, ebx
jne 0x143d45c
mov edi, dword [esp + 0x20]
jmp 0x143d6af
cmp ecx, 0x12b3
jle 0x143ce23
cmp ecx, 0x12f9
jle 0x143cefe
cmp ecx, 0x12fa
je 0x143d14a
cmp ecx, 0x1335
je 0x143d1fa
cmp ecx, 0x13c2
jne 0x143e02b
test edi, edi
je 0x143e802
mov eax, dword [edi + 8]
cmp eax, 0xe
je 0x143d9f1
cmp eax, 0xf
jne 0x143d519
test byte [0x41d110], 1
je 0x143cc12
mov ecx, dword [esp + 4]
mov edx, 0x4085fe
push 0xf
call fcn.0143568e
add esp, 4
push 0x40860e
mov eax, dword [esp + 8]
push dword [eax + 0x110]
call fcn.0145eb04
add esp, 8
jmp 0x143d9f1
cmp ecx, 0x1078
jg 0x143cfbc
test ecx, ecx
je 0x143cc4a
cmp ecx, 0x1016
jne 0x143e02b
test edi, edi
je 0x143d41e
cmp dword [edi + 8], 2
jne 0x143d429
push 0x407b3b
mov eax, dword [esp + 8]
push dword [eax + 0x110]
call fcn.0145eb04
add esp, 8
mov ecx, dword [edi]
mov eax, dword [edi + 0x18]
sub ecx, eax
cmp ecx, 8
jl 0x143d433
lea ecx, [eax + 8]
mov dword [edi + 0x18], ecx
add eax, dword [edi + 0x14]
je 0x143d433
movsd xmm0, qword [eax]
lea eax, [esi + 0xc]
lea edx, [esi + 0xb8]
mov ecx, edi
mov dword [esp + 8], edx
movsd qword [esp + 0x28], xmm0
push eax
call fcn.0143e8c7
add esp, 4
test eax, eax
je 0x143d7a9
lea ebx, [esi + 0xdc]
lea eax, [esi + 0x10]
mov ecx, edi
mov edx, ebx
push eax
call fcn.0143e8c7
add esp, 4
test eax, eax
je 0x143d7a9
push 0x40778b
mov eax, dword [esp + 8]
mov dword [esp + 0x14], ebx
push dword [eax + 0x110]
call fcn.0145eb04
add esp, 8
lea ebx, [esp + 0xac]
mov byte [ebx + 6], 0
mov word [ebx + 4], 0x2020
mov dword [ebx], 0x20202020
mov dword [esi + 0xfc], 0
push ebx
call fcn.01476c84
add esp, 4
mov ecx, 0x50
sub ecx, eax
lea eax, [esp + eax + 0xac]
push dword [esp + 0x10]
push ecx
push eax
call fcn.014557a5
add esp, 0xc
push ebx
mov ebx, dword [esp + 8]
push dword [ebx + 0x110]
call fcn.0145eb04
add esp, 8
mov ecx, edi
call fcn.01439019
mov ecx, edi
mov dword [ebx + 0x40], eax
call fcn.01439019
mov ecx, edi
mov dword [esi + 0x14], eax
call fcn.01439019
mov dword [esi + 0x18], eax
test byte [ebx + 0x50], 8
je 0x143cd78
and eax, 0xfffffffb
mov dword [esi + 0x18], eax
lea edi, [esp + 0xac]
mov dword [ebx + 0x44], 1
push edi
call fcn.01452070
add esp, 4
push dword [esi + 0xe0]
push dword [esi + 0x10]
push edi
call fcn.0145208a
add esp, 0xc
push dword [esi + 0xbc]
push dword [esi + 0xc]
push edi
call fcn.0145208a
add esp, 0xc
lea eax, [esp + 0x28]
push 8
push eax
push edi
call fcn.0145208a
add esp, 0xc
mov dword [esp + 0xc], esi
lea eax, [esi + 0x2c]
push edi
push eax
call fcn.014528cb
add esp, 8
mov esi, 0x1c
call fcn.0145503a
mov byte [ebx + esi], al
inc esi
cmp esi, 0x3c
jne 0x143cdd9
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0xe0]
lea ecx, [eax*8]
cmp dword [esi + 0xdc], ecx
jg 0x143ce19
mov ecx, dword [esi + 0xbc]
lea edx, [ecx*8]
cmp dword [esi + 0xb8], edx
jle 0x143ddf6
push 0x407bbd
jmp 0x143e410
cmp ecx, 0x1258
jg 0x143cfe6
cmp ecx, 0x11fb
je 0x143d222
cmp ecx, 0x120f
jne 0x143e02b
test edi, edi
je 0x143d6f7
cmp dword [edi + 8], 0xe
mov edi, dword [esp + 4]
mov eax, dword [edi + 0x110]
jne 0x143d491
push 0x40806b
push eax
call fcn.0145eb04
add esp, 8
test byte [0x41d110], 1
je 0x143ceb2
mov edx, 0x408087
mov ecx, edi
push 0x1d
call fcn.0143568e
add esp, 4
mov edx, dword [esi + 0xa8]
mov ecx, edi
push dword [esi + 0xac]
call fcn.0143568e
add esp, 4
mov edx, 0x4080a5
mov ecx, edi
push 0xe
call fcn.0143568e
add esp, 4
mov dword [esi + 0x7c], 1
jmp 0x143d7f5
cmp ecx, 0x1112
je 0x143d234
cmp ecx, 0x1126
jne 0x143e02b
test edi, edi
jne 0x143d628
push eax
push ebx
push dword [esi + 0x54]
call fcn.01464160
add esp, 0xc
mov edi, dword [esp + 4]
mov dword [edi + 0x100], 0
jmp 0x143d2e6
cmp ecx, 0x12b4
je 0x143d3a6
cmp ecx, 0x12cf
jne 0x143e02b
test edi, edi
je 0x143e60f
cmp dword [edi + 8], 0x28
jne 0x143d49c
lea ebx, [esp + 0xac]
lea eax, [esp + 0x28]
mov ecx, edi
mov edx, ebx
push eax
call fcn.01439038
add esp, 4
mov ebx, dword [ebx]
test ebx, ebx
je 0x143d7b3
push 0x4083ae
mov eax, dword [esp + 8]
push dword [eax + 0x110]
call fcn.0145eb04
add esp, 8
mov eax, dword [esi + 0x54]
mov dword [eax], 1
push 0x4083c5
call fcn.01428572
add esp, 4
mov dword [esp + 0xc], esi
mov ecx, dword [esi + 0x54]
mov dword [ecx + 4], eax
mov esi, dword [esp + 0x28]
push esi
push 0xa
push ebx
call fcn.01467af4
add esp, 0xc
test eax, eax
je 0x143d87f
push 0x40214f
call fcn.01428572
add esp, 4
mov edi, eax
push ebx
push esi
push 0x4021c3
call fcn.0142852c
add esp, 0xc
jmp 0x143d89d
cmp ecx, 0x1079
je 0x143d3e8
cmp ecx, 0x10cf
jne 0x143e02b
test edi, edi
je 0x143d43d
push 0x40728b
jmp 0x143e410
cmp ecx, 0x1259
je 0x143d3f6
cmp ecx, 0x128e
jne 0x143e02b
test edi, edi
je 0x143e649
mov eax, dword [edi + 8]
cmp eax, 7
je 0x143d52c
cmp eax, 0xf
jne 0x143d600
mov ecx, dword [esp + 4]
mov edx, 0x40828a
push 0x20
jmp 0x143d3db
test edi, edi
je 0x143d39b
mov eax, dword [esi + 0x18]
shr eax, 2
not eax
and eax, 1
mov dword [esi + 0x20], eax
mov dword [esi + 0x1c], eax
xor eax, eax
mov dword [esi + 0x28], eax
mov dword [esi + 0x24], eax
mov eax, 0x20
push eax
mov ebx, dword [esp + 8]
push dword [ebx + 0x248]
call fcn.01426d97
add esp, 8
mov dword [esi + 0xb4], eax
push eax
call fcn.01460440
add esp, 4
test eax, eax
jne 0x143d9ea
push dword [esi + 0xb4]
call fcn.01460439
add esp, 4
push eax
push 0x407e32
push ebx
call fcn.014331f6
add esp, 0xc
push dword [esi + 0xb4]
call fcn.01454c65
add esp, 4
mov ebx, eax
cmp ebx, 8
je 0x143d0b6
cmp ebx, 2
jne 0x143d83f
lea eax, [esi + 0x48]
lea ecx, [esi + 0x44]
lea edx, [esi + 0x40]
mov dword [esp + 0xc], esi
lea esi, [esp + 0xac]
push esi
mov esi, dword [esp + 0x10]
push eax
push ecx
push edx
push dword [esi + 0xb4]
call fcn.01453260
add esp, 0x14
test eax, eax
je 0x143d983
xor eax, eax
cmp ebx, 2
sete al
mov dword [esi + 0x4c], eax
je 0x143d106
push 0x407e4c
push dword [esp + 8]
call fcn.014331f6
add esp, 8
push 0
push dword [esi + 0xb4]
call fcn.014531d9
add esp, 8
mov dword [esi + 0x50], eax
jmp 0x143d9f1
test edi, edi
jne 0x143d22a
mov edi, dword [esp + 4]
test eax, eax
jg 0x143da8c
mov eax, dword [edi + 0x254]
mov dword [esp + 0x24], eax
mov ecx, dword [edi + 0x258]
mov dword [esi + 0x70], ecx
jmp 0x143da9b
test edi, edi
je 0x143e5d9
cmp dword [edi + 8], 0x47
jne 0x143d4db
lea ebx, [esp + 0xac]
lea eax, [esp + 0x28]
mov ecx, edi
mov edx, ebx
push eax
call fcn.01439038
add esp, 4
mov ebx, dword [ebx]
test ebx, ebx
je 0x143d7bd
push 0x40849e
mov eax, dword [esp + 8]
push dword [eax + 0x110]
call fcn.0145eb04
add esp, 8
mov eax, dword [esi + 0x54]
mov dword [eax], 1
push 0x4084bc
call fcn.01428572
add esp, 4
mov ecx, dword [esi + 0x54]
mov dword [ecx + 4], eax
mov dword [esp + 0xc], esi
mov eax, dword [esi + 0x54]
mov dword [eax + 8], 0
mov esi, dword [esp + 0x28]
push esi
push 0xa
push ebx
call fcn.01467af4
add esp, 0xc
test eax, eax
je 0x143d8f8
push 0x40214f
call fcn.01428572
add esp, 4
mov edi, eax
push ebx
push esi
push 0x4021c3
call fcn.0142852c
add esp, 0xc
jmp 0x143d916
test edi, edi
jne 0x143e55e
push eax
push ebx
push dword [esi + 0x54]
call fcn.01464160
add esp, 0xc
mov edi, dword [esp + 4]
mov dword [edi + 0x100], 0
jmp 0x143e4a2
test edi, edi
je 0x143d454
push 0x407f1b
jmp 0x143e410
test edi, edi
je 0x143ddeb
cmp dword [edi + 8], 0xe
jne 0x143d50f
push 0x407dd0
mov edi, dword [esp + 8]
push dword [edi + 0x110]
call fcn.0145eb04
add esp, 8
push 1
call fcn.0146a693
add esp, 4
push eax
call fcn.01475251
add esp, 4
push dword [edi + 0x248]
call fcn.0142fb83
add esp, 4
test eax, eax
mov dword [edi + 0x250], eax
jne 0x143d31e
push dword [edi + 0x110]
call fcn.014285a8
add esp, 4
mov ebx, edi
mov dword [esi + 0x54], eax
mov edi, esi
xor esi, esi
inc esi
mov dword [eax], esi
push 0x407df0
call fcn.01428572
add esp, 4
mov ecx, dword [edi + 0x54]
mov dword [ecx + 4], eax
push 0x407dff
call fcn.01428572
add esp, 4
push esi
mov esi, edi
mov edi, ebx
push eax
push dword [esi + 0x54]
call fcn.0142865b
add esp, 0xc
xor eax, eax
push eax
push eax
push dword [esi + 0x54]
call fcn.01464160
add esp, 0xc
test eax, eax
js 0x143d61e
mov eax, dword [esi + 0x54]
je 0x143d7c7
mov eax, dword [eax + 0x18]
mov eax, dword [eax]
push dword [eax + 8]
call fcn.01428572
add esp, 4
mov dword [edi + 0x250], eax
push dword [esi + 0x54]
call fcn.014287e2
add esp, 4
mov eax, dword [edi + 0x250]
xor ecx, ecx
mov edx, 4
push ecx
push eax
push edx
push edx
push edi
call fcn.01434174
add esp, 0x14
push dword [edi + 0x250]
push 0x407e1f
call fcn.0142852c
add esp, 8
mov ecx, edi
mov edi, eax
push edi
mov ebx, ecx
push dword [ecx + 0x110]
call fcn.0145eb04
add esp, 8
mov eax, dword [0x41d110]
test al, 4
je 0x143d392
and eax, 3
cmp eax, 3
je 0x143d392
push edi
call fcn.01476c84
add esp, 4
mov ecx, ebx
mov edx, edi
push eax
call fcn.0143568e
add esp, 4
mov edx, 0x402dcd
mov ecx, ebx
push 2
call fcn.0143568e
add esp, 4
push edi
call fcn.014287a8
add esp, 4
mov dword [esi], 0x1143
jmp 0x143e429
test edi, edi
je 0x143d5f5
mov eax, dword [edi + 8]
cmp eax, 0xe
je 0x143dff9
cmp eax, 0xf
jne 0x143d60a
test byte [0x41d110], 1
je 0x143d9f1
mov ecx, dword [esp + 4]
mov edx, 0x4082d3
push 0x2d
call fcn.0143568e
add esp, 4
jmp 0x143d9f1
test edi, edi
je 0x143d467
push 0x4077d8
jmp 0x143e410
test edi, edi
jne 0x143e20d
push eax
push ebx
push dword [esi + 0x54]
call fcn.01464160
add esp, 0xc
mov edi, dword [esp + 4]
mov dword [edi + 0x100], 0
jmp 0x143e1db
mov dword [esi], 0x1016
jmp 0x143e429
push 0x407b1c
jmp 0x143e410
push 0x407b50
jmp 0x143e410
mov edi, dword [esp + 4]
test eax, eax
jle 0x143d633
mov dword [esi], 0x10cf
jmp 0x143e429
test eax, eax
jle 0x143d697
mov dword [esi], 0x11fb
jmp 0x143e429
mov edi, dword [esp + 4]
test eax, eax
jle 0x143d702
mov dword [esi], 0x1079
jmp 0x143e429
push 0x408002
push eax
call fcn.0145eb04
add esp, 8
jmp 0x143d829
push 0x4080b4
push eax
jmp 0x143d7ed
push 0x40834e
mov eax, dword [esp + 8]
push dword [eax + 0x110]
call fcn.0145eb04
add esp, 8
test byte [0x41d110], 4
je 0x143d4cf
mov ecx, dword [esp + 4]
mov edx, 0x40836a
push 0x1d
call fcn.0143568e
add esp, 4
mov dword [esi + 0x24], 1
jmp 0x143d9f1
push 0x408429
mov ebx, dword [esp + 8]
push dword [ebx + 0x110]
call fcn.0145eb04
add esp, 8
mov edx, 0x40844c
mov ecx, ebx
push 0x24
call fcn.0143568e
add esp, 4
mov dword [esi + 0x28], 1
jmp 0x143d9f1
push 0x407dac
jmp 0x143e410
push eax
push 0x408625
call fcn.0142852c
add esp, 8
jmp 0x143e418
mov ecx, edi
call fcn.0143e960
test eax, eax
je 0x143d614
mov ecx, esi
sub ecx, 0xffffff80
push ecx
mov dword [esp + 0xc], eax
push eax
call fcn.014553f5
add esp, 8
mov ebx, eax
mov dword [esp + 0xc], esi
push dword [esi + 0x90]
call fcn.01446d06
add esp, 4
mov edi, 0x1f
lea esi, [esp + 0x28]
push edi
push ebx
call fcn.01448e50
add esp, 8
mov byte [esi], al
dec edi
inc esi
xor eax, eax
dec eax
cmp edi, eax
jne 0x143d56b
lea esi, [esp + 0xac]
push esi
call fcn.01452070
add esp, 4
lea eax, [esp + 0x28]
push 0x20
push eax
push esi
call fcn.0145208a
add esp, 0xc
mov edi, dword [esp + 0xc]
mov ecx, 0x10
lea eax, [edi + 0x2c]
push ecx
push eax
push esi
call fcn.0145208a
add esp, 0xc
push esi
mov esi, edi
lea edi, [esp + 0x2c]
push edi
call fcn.014528cb
add esp, 8
push 0
mov eax, 0x10
push eax
push edi
push 3
push 8
push dword [esp + 0x18]
call fcn.01434174
add esp, 0x18
push dword [esp + 8]
call fcn.01446d06
add esp, 4
push ebx
call fcn.01446d06
add esp, 4
mov dword [esi], 0x12b4
jmp 0x143e429
push 0x4082ab
jmp 0x143e410
push 0x408301
jmp 0x143e410
push 0x408025
jmp 0x143e410
mov dword [edi + 0x100], 1
mov dword [esi], 0x1126
jmp 0x143e429
mov eax, dword [edi + 0x25c]
mov dword [esi + 0xb0], eax
lea eax, [edi + 0x10]
mov ebx, edi
mov eax, dword [eax]
test eax, eax
je 0x143d655
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x18]
add esp, 8
xor edi, edi
mov ecx, ebx
mov dword [ecx + 0x260], edi
cmp dword [esi + 0xb0], edi
je 0x143dae9
lea eax, [esi + 0x3c]
mov edi, ecx
mov eax, dword [eax]
cmp eax, 2
je 0x143dc9b
cmp eax, 3
je 0x143dca2
cmp eax, 6
jne 0x143dcb5
push 0x407d2d
jmp 0x143dca7
mov eax, dword [esp + 4]
mov edi, dword [eax + 0x254]
mov dword [esp + 0x20], edi
mov eax, dword [eax + 0x258]
mov dword [esp + 0x1c], eax
test edi, edi
je 0x143d7de
mov ebx, dword [esp + 4]
cmp byte [edi + 4], 4
mov eax, dword [ebx + 0x110]
jne 0x143d967
push 0x408050
push eax
call fcn.0145eb04
add esp, 8
lea eax, [edi + 5]
push 0
push 0x10
push eax
push 3
push 8
push ebx
call fcn.01434174
add esp, 0x18
push edi
call fcn.014287a8
add esp, 4
mov dword [esi], 0x120f
jmp 0x143e429
mov eax, dword [edi + 0x25c]
mov dword [esi + 0xb0], eax
lea eax, [edi + 0x10]
mov ebx, edi
mov eax, dword [eax]
test eax, eax
je 0x143d724
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x18]
add esp, 8
xor edi, edi
mov ecx, ebx
mov dword [ecx + 0x260], edi
cmp dword [esi + 0xb0], edi
je 0x143daf0
lea ebx, [esi + 8]
mov edi, ecx
xor eax, eax
mov cl, byte [edi + eax + 0x1c]
mov edx, dword [ebx]
cmp eax, 0xf
mov byte [edx + eax], cl
jg 0x143d759
mov cl, byte [esi + eax + 0x2c]
mov edx, dword [esi + 8]
xor byte [edx + eax], cl
inc eax
cmp eax, 0x20
jne 0x143d741
mov ecx, dword [esi + 0xe0]
mov edx, esi
mov eax, dword [esi + 8]
lea edi, [esi + 0xdc]
mov dword [esp + 0xc], edx
lea esi, [edx + 0xb8]
cmp ecx, dword [edx + 0xbc]
jle 0x143dafe
push esi
push 0x20
push eax
call fcn.014551df
add esp, 0xc
test eax, eax
je 0x143dc72
mov eax, dword [esp + 0xc]
lea eax, [eax + 0xbc]
jmp 0x143db1e
push 0x407b85
jmp 0x143e410
push 0x408388
jmp 0x143e410
push 0x408471
jmp 0x143e410
push eax
call fcn.014287e2
add esp, 4
mov ecx, edi
xor edi, edi
mov edx, 0x407e0a
jmp 0x143daf5
push 0x4080f7
mov eax, dword [esp + 8]
push dword [eax + 0x110]
call fcn.0145eb04
add esp, 8
push dword [esi + 0x8c]
call fcn.01446d06
add esp, 4
push dword [esi + 0x88]
call fcn.01446d06
add esp, 4
push dword [esi + 0xa4]
call fcn.01446d06
add esp, 4
cmp dword [esi + 0x7c], 0
jne 0x143dfc5
lea eax, [esi + 0x74]
lea edi, [esi + 0x78]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x74]
inc eax
mov dword [esi + 0x74], eax
jmp 0x143deed
push ebx
call fcn.01454c9b
add esp, 4
push eax
push 0x407eae
push dword [esp + 0xc]
call fcn.014331f6
add esp, 0xc
push ebx
call fcn.01454c9b
add esp, 4
mov ebx, eax
push dword [esi + 0xb4]
call fcn.01460439
add esp, 4
push ebx
push eax
push 0x407ecf
jmp 0x143d9bf
push ebx
push esi
push 0x4021c3
call fcn.0142852c
add esp, 0xc
mov edi, eax
push 0x4083dc
call fcn.01428572
add esp, 4
cmp byte [edi], 0
mov ebx, eax
mov eax, 0x40407b
mov ecx, 0x40214f
cmovne ecx, eax
push edi
push ecx
push 0x4083e7
call fcn.0142852c
add esp, 0xc
mov esi, dword [esp + 0xc]
mov ecx, dword [esi + 0x54]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x54]
mov dword [eax + 0x10], 1
push 0
push ebx
push dword [esi + 0x54]
call fcn.0142865b
add esp, 0xc
push edi
call fcn.014287a8
add esp, 4
mov eax, dword [esp + 4]
lea edi, [eax + 0x248]
jmp 0x143e3df
push ebx
push esi
push 0x4021c3
call fcn.0142852c
add esp, 0xc
mov edi, eax
push 0x4083dc
call fcn.01428572
add esp, 4
cmp byte [edi], 0
mov ebx, eax
mov eax, 0x40407b
mov ecx, 0x40214f
cmovne ecx, eax
push edi
push ecx
push 0x4084da
call fcn.0142852c
add esp, 0xc
mov esi, dword [esp + 0xc]
mov ecx, dword [esi + 0x54]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x54]
mov dword [eax + 0x10], 1
push 0
push ebx
push dword [esi + 0x54]
call fcn.0142865b
add esp, 0xc
push edi
call fcn.014287a8
add esp, 4
jmp 0x143e3ff
push 0x4080d4
push eax
call fcn.0145eb04
add esp, 8
push edi
call fcn.014287a8
add esp, 4
jmp 0x143d7f5
push dword [esp + 0xac]
push 0x407e6e
push dword [esp + 0xc]
call fcn.014331f6
add esp, 0xc
mov esi, dword [esp + 0xac]
mov eax, dword [esp + 0xc]
push dword [eax + 0xb4]
call fcn.01460439
add esp, 4
push esi
mov esi, dword [esp + 0x10]
push eax
push 0x407e86
call fcn.0142852c
add esp, 0xc
mov ebx, eax
push ebx
call fcn.01476c84
add esp, 4
mov ecx, dword [esp + 4]
mov edx, ebx
push eax
call fcn.0143568e
add esp, 4
push ebx
call fcn.014287a8
add esp, 4
mov dword [esi + 0x40], 0
cmp dword [edi + 8], 0xf
jne 0x143dff9
mov dword [esi + 0x5c], 9
push 0x1c
mov eax, dword [esp + 8]
push dword [eax + 0x248]
call fcn.01426937
add esp, 8
test eax, eax
je 0x143e039
call fcn.01463680
test eax, eax
je 0x143e039
cmp dword [esi + 0x20], 0
jne 0x143e039
mov dword [esi + 0x7c], 0
mov dword [esi + 0x20], 1
push 0x407ef6
mov edi, dword [esp + 8]
push dword [edi + 0x110]
call fcn.0145eb04
add esp, 8
mov dword [esi + 0x60], 0x1000000
lea eax, [esi + 0x60]
mov byte [esi + 0x64], 1
lea ecx, [esi + 0x70]
lea edx, [esp + 0x24]
push edi
push 0x43c993
push ecx
push edx
push 5
push eax
call fcn.014636ba
add esp, 0x18
test eax, eax
mov dword [edi + 0x6d0], eax
je 0x143da97
mov dword [esi], 0x118e
jmp 0x143e429
mov eax, dword [esp + 0x24]
test eax, eax
mov dword [esi + 0x68], eax
je 0x143dad9
cmp dword [esi + 0x70], 5
jl 0x143dad9
cmp byte [eax + 4], 2
jne 0x143dad9
lea ecx, [eax + 5]
mov dword [esi + 0x6c], ecx
mov eax, dword [eax + 5]
bswap eax
push eax
call fcn.01428920
add esp, 4
lea edi, [esi + 0x78]
test eax, eax
mov dword [esi + 0x78], eax
js 0x143deaf
mov ebx, dword [esp + 4]
jmp 0x143deca
push 0x408139
push dword [edi + 0x110]
jmp 0x143dfeb
mov edx, 0x407312
jmp 0x143daf5
mov edx, 0x407be4
push 1
push edi
push edi
jmp 0x143e22a
push edi
push 0x20
push eax
call fcn.014551df
add esp, 0xc
test eax, eax
je 0x143dc72
mov eax, dword [esp + 0xc]
mov edi, esi
lea eax, [eax + 0xe0]
push edi
push dword [eax]
push dword [ebx]
call fcn.014551df
add esp, 0xc
test eax, eax
je 0x143dc72
push 0x407c44
mov eax, dword [esp + 8]
push dword [eax + 0x110]
call fcn.0145eb04
add esp, 8
mov esi, dword [esp + 0xc]
xor ebx, ebx
xor edi, edi
mov dword [esp + 8], 0
mov dword [esp + 0x14], 0
lea eax, [esi + 0x3c]
mov dword [esp + 0x10], eax
push edi
push 0x1f
mov eax, dword [esp + 0xc]
push dword [eax + 0x248]
call fcn.014269d1
add esp, 0xc
cmp eax, 4
ja 0x143dba3
xor ecx, ecx
mov esi, 0x407c84
mov edx, 6
inc ecx
jmp dword [eax*4 + 0x40ae18]
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
jmp 0x143dbdc
mov eax, dword [esi + 0x14]
mov ecx, 1
bt eax, edx
mov edx, dword [esp + 8]
cmovb edx, ecx
mov dword [esp + 8], edx
mov ecx, ebx
mov esi, dword [esp + 0xc]
cmp edi, 5
jg 0x143dc0b
inc edi
cmp dword [esp + 8], 0
mov ebx, ecx
je 0x143db69
cmp dword [esp + 8], 0
je 0x143de97
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x10]
test ecx, ecx
je 0x143d670
mov eax, dword [edi + 0x10]
test eax, eax
je 0x143dc38
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x18]
add esp, 8
mov dword [edi + 0x260], 1
push edi
push 0x437620
push dword [esp + 0x1c]
push 0x407cf4
push dword [edi + 0x110]
call fcn.0145e80b
add esp, 0x14
test eax, eax
mov dword [esi + 0xb0], eax
jns 0x143d63f
jmp 0x143d449
push 0x407c0a
call fcn.0142852c
add esp, 4
mov ecx, dword [esp + 4]
mov edx, eax
call fcn.014394ba
mov eax, dword [esp + 0xc]
xor edi, edi
mov dword [eax], 0
jmp 0x143e42b
push 0x407d11
jmp 0x143dca7
push 0x407cfb
push dword [edi + 0x110]
call fcn.0145eb04
add esp, 8
mov eax, dword [esi + 4]
mov edx, 3
mov ebx, 2
mov ecx, eax
and ecx, 0x1f
shl ecx, 3
push 0
push dword [edi + 0x44]
push 1
push eax
sar eax, 5
push dword [esi + 8]
push edx
push ecx
push ebx
push eax
push ebx
mov eax, 8
push eax
lea eax, [esp + 0x54]
push eax
push edx
push dword [esi + 0x3c]
push ebx
push edx
push edi
call fcn.01434174
add esp, 0x44
push 0x407d47
push dword [edi + 0x110]
call fcn.0145eb04
add esp, 8
push dword [esi + 8]
call fcn.014287a8
add esp, 4
mov eax, dword [esi + 0x3c]
mov ecx, 0x40ede4
mov edx, 0x40edc8
cmp eax, ebx
mov ebx, 0x40e4e0
cmove edx, ecx
cmp eax, 6
cmovne ebx, edx
mov dword [edi + 0x54], ebx
call dword [ebx]
mov dword [edi + 0x58], eax
lea edx, [edi + 0x1c]
mov ecx, dword [edi + 0x54]
push edx
push eax
call dword [ecx + 8]
add esp, 8
mov eax, dword [edi + 0x54]
push dword [eax + 0x18]
push 0x407d66
push edi
call fcn.014331f6
add esp, 0xc
call fcn.0144a810
mov dword [edi + 0x5c], eax
push 0x407d80
push dword [edi + 0x110]
call fcn.0145eb04
add esp, 8
mov eax, dword [esi + 0xc0]
test eax, eax
je 0x143dd94
push eax
call fcn.014287a8
add esp, 4
mov dword [esi + 0xc0], 0
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x143ddb1
push eax
call fcn.014287a8
add esp, 4
mov dword [esi + 0xc4], 0
mov eax, dword [esi + 0xe4]
test eax, eax
je 0x143ddce
push eax
call fcn.014287a8
add esp, 4
mov dword [esi + 0xe4], 0
mov eax, dword [esi + 0xe8]
test eax, eax
je 0x143ddeb
push eax
call fcn.014287a8
add esp, 4
mov dword [esi + 0xe8], 0
mov dword [esi], 0x1112
jmp 0x143e429
cmp eax, ecx
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 8]
cmovg eax, edi
mov eax, dword [eax + 4]
mov dword [esi + 4], eax
xor esi, esi
inc esi
push esi
push eax
call fcn.014285db
add esp, 8
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
lea ebx, [ecx + 8]
mov dword [edx + 8], eax
push edi
call fcn.01455636
add esp, 4
push esi
mov esi, dword [esp + 0x10]
push eax
call fcn.014285db
add esp, 8
push edi
mov dword [esp + 0xc], eax
push eax
call fcn.0145567f
add esp, 8
lea eax, [esp + 0x48]
push edi
push 0x64
push eax
call fcn.014557a5
add esp, 0xc
xor edi, edi
push edi
push edi
lea eax, [esp + 0x50]
push eax
push dword [esp + 0x10]
call fcn.01433247
add esp, 0x10
test eax, eax
mov dword [esi + 0xb0], eax
je 0x143e128
js 0x143e16b
push dword [esp + 8]
call fcn.014287a8
add esp, 4
mov edi, dword [esp + 4]
jmp 0x143d73f
test byte [esi + 0x14], 8
mov edi, dword [esp + 4]
jne 0x143e157
push 0x407c98
jmp 0x143e15c
push eax
push 0x407f58
mov ebx, dword [esp + 0xc]
push ebx
call fcn.014331f6
add esp, 0xc
xor eax, eax
mov dword [edi], 0
add dword [esi + 0x6c], 4
push eax
push 0x407f7f
push ebx
call fcn.014331f6
add esp, 0xc
lea eax, [esi + 0x74]
mov dword [esp + 8], eax
xor eax, eax
mov dword [esi + 0x74], 0
cmp eax, dword [edi]
jge 0x143dfc5
mov ebx, dword [esi + 0x6c]
mov eax, dword [esi + 0x70]
mov edi, esi
lea ecx, [ebx + 4]
mov dword [esi + 0x6c], ecx
sub eax, ecx
lea esi, [edi + 0x8c]
add eax, dword [edi + 0x68]
push eax
call fcn.01428920
add esp, 4
push esi
mov esi, edi
push eax
push dword [esi + 0x6c]
call fcn.01448d7c
add esp, 0xc
test eax, eax
js 0x143dfae
add eax, dword [esi + 0x6c]
lea edi, [esi + 0x88]
mov dword [esi + 0x6c], eax
mov ecx, dword [esi + 0x70]
sub ecx, eax
add ecx, dword [esi + 0x68]
push ecx
call fcn.01428920
add esp, 4
push edi
push eax
push dword [esi + 0x6c]
call fcn.01448d7c
add esp, 0xc
test eax, eax
js 0x143dfae
add eax, dword [esi + 0x6c]
mov dword [esi + 0x6c], eax
mov ecx, dword [esi + 0x70]
sub ecx, eax
add ecx, dword [esi + 0x68]
cmp ecx, 4
jl 0x143dfae
mov eax, dword [eax]
bswap eax
push eax
call fcn.01428920
add esp, 4
mov dword [esi + 0xac], eax
mov ecx, dword [esi + 0x6c]
add ecx, 4
test eax, eax
mov dword [esi + 0x6c], ecx
js 0x143dfae
mov eax, dword [esi + 0x70]
sub eax, ecx
add eax, dword [esi + 0x68]
push eax
call fcn.01428920
add esp, 4
mov ecx, dword [esi + 0xac]
cmp eax, ecx
jge 0x143e0af
push 0x407f99
mov eax, dword [esp + 8]
push dword [eax + 0x110]
call fcn.0145eb04
add esp, 8
push dword [esi + 0x68]
call fcn.014287a8
add esp, 4
cmp dword [esi + 0x40], 0
je 0x143dff3
cmp dword [esi + 0x1c], 0
jne 0x143dff3
push 0x408116
mov eax, dword [esp + 8]
push dword [eax + 0x110]
call fcn.0145eb04
add esp, 8
cmp dword [esi + 0x7c], 0
je 0x143e039
mov eax, dword [esi + 0x40]
test eax, eax
je 0x143e014
push eax
call fcn.014287a8
add esp, 4
push dword [esi + 0x48]
call fcn.014287a8
add esp, 4
push 0x408646
mov eax, dword [esp + 8]
push dword [eax + 0x110]
call fcn.0145eb04
add esp, 8
xor edi, edi
mov dword [esi], 0
inc edi
jmp 0x143e42b
cmp dword [esi + 0x40], 0
mov edi, dword [esp + 4]
je 0x143e3a2
cmp dword [esi + 0x4c], 0
je 0x143e3a2
cmp dword [esi + 0x1c], 0
jne 0x143e3a2
test byte [0x41d110], 1
je 0x143e075
mov edx, 0x40815a
mov ecx, edi
push 0x23
call fcn.0143568e
add esp, 4
push 0x20
push dword [edi + 0x248]
call fcn.01426d97
add esp, 8
mov dword [esi + 0xb4], eax
push eax
call fcn.01460439
add esp, 4
push eax
push 0x40817e
push edi
call fcn.014331f6
add esp, 0xc
mov dword [esi + 0x1c], 1
jmp 0x143e239
mov edx, dword [esi + 0x6c]
mov eax, dword [esi + 0x40]
add ecx, edx
test eax, eax
mov dword [esi + 0xa8], edx
mov dword [esi + 0x6c], ecx
je 0x143e0f4
push dword [esi + 0x44]
push eax
push ebx
call fcn.01467ba1
add esp, 0xc
test eax, eax
jne 0x143d829
push dword [esi + 0x74]
push 0x407fbf
push dword [esp + 0xc]
call fcn.014331f6
add esp, 0xc
mov dword [esi + 0x1c], 1
mov eax, dword [esp + 8]
push dword [eax]
push 0x407feb
mov ebx, dword [esp + 0xc]
push ebx
call fcn.014331f6
add esp, 0xc
push 0
push dword [edi]
push 5
push 6
push ebx
call fcn.01434174
add esp, 0x14
mov dword [esi], 0x11d4
jmp 0x143e429
push 0x4077a4
call fcn.0142852c
add esp, 4
mov ecx, dword [esp + 4]
mov edx, eax
call fcn.014394ba
push dword [esp + 8]
call fcn.014287a8
add esp, 4
mov dword [esi], 0
jmp 0x143e42b
push 0x407cd9
call fcn.0142852c
add esp, 4
mov ecx, edi
jmp 0x143e41c
mov edi, dword [esp + 4]
mov eax, dword [edi + 0x10]
test eax, eax
je 0x143e181
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x18]
add esp, 8
mov dword [edi + 0x260], 1
push edi
push 0x437620
lea eax, [esp + 0x50]
push eax
mov ebx, dword [esp + 0x14]
push ebx
push 0x405c11
push dword [edi + 0xfc]
push dword [edi + 0xf8]
push dword [edi + 0x110]
call fcn.0145e695
add esp, 0x20
mov dword [esi + 0xb0], eax
push ebx
call fcn.014287a8
add esp, 4
cmp dword [esi + 0xb0], 0
jns 0x143d70e
jmp 0x143d473
test eax, eax
js 0x143e203
mov eax, dword [esi + 0x54]
je 0x143e218
mov eax, dword [eax + 0x18]
mov eax, dword [eax]
push dword [eax + 8]
call fcn.01428572
add esp, 4
mov edi, eax
push dword [esi + 0x54]
call fcn.014287e2
jmp 0x143e2b9
mov dword [edi + 0x100], 1
mov dword [esi], 0x1259
jmp 0x143e429
push eax
call fcn.014287e2
add esp, 4
mov ecx, dword [esp + 4]
jmp 0x143e576
call fcn.01435a57
add esp, 0xc
mov dword [esi], edi
jmp 0x143e42b
cmp dword [esi + 0x50], 0
je 0x143e29e
push dword [edi + 0x110]
call fcn.014285a8
add esp, 4
mov ebx, edi
mov dword [esi + 0x54], eax
mov edi, esi
xor esi, esi
mov dword [eax], esi
push 0x4081af
call fcn.01428572
add esp, 4
mov ecx, dword [edi + 0x54]
mov dword [ecx + 4], eax
push dword [edi + 0x48]
push 0x4081c2
call fcn.0142852c
add esp, 8
push esi
push eax
push dword [edi + 0x54]
call fcn.0142865b
add esp, 0xc
push esi
push esi
mov esi, edi
mov edi, ebx
push dword [esi + 0x54]
call fcn.01464160
add esp, 0xc
jmp 0x143e1db
xor edi, edi
test byte [0x41d110], 1
je 0x143e2bc
mov ecx, dword [esp + 4]
mov edx, 0x408195
push 0x19
call fcn.0143568e
add esp, 4
push 0x20
mov eax, dword [esp + 8]
push dword [eax + 0x248]
call fcn.01426d97
add esp, 8
mov ecx, esi
lea edx, [esp + 0x18]
mov dword [esi + 0xb4], eax
sub ecx, 0xffffff80
push edx
push edi
push ecx
push eax
call fcn.01452d6c
add esp, 0x10
mov ebx, eax
test edi, edi
je 0x143e30d
push edi
call fcn.01476c84
add esp, 4
push eax
push edi
call fcn.01460482
add esp, 8
push edi
call fcn.014287a8
add esp, 4
cmp ebx, 0xffffffff
je 0x143e61a
mov edi, dword [esp + 4]
cmp ebx, 1
je 0x143e634
test ebx, ebx
jne 0x143e654
mov edx, 0x4081f7
mov ecx, edi
push 0x1f
call fcn.0143568e
add esp, 4
push dword [esi + 0xb4]
call fcn.01460439
add esp, 4
mov ebx, edi
mov edi, eax
push edi
call fcn.01476c84
add esp, 4
mov ecx, ebx
mov edx, edi
push eax
call fcn.0143568e
add esp, 4
mov edx, 0x408217
mov ecx, ebx
push 2
call fcn.0143568e
add esp, 4
mov edi, dword [esp + 0x18]
push edi
call fcn.01476c84
add esp, 4
mov edx, edi
mov edi, ebx
mov ecx, ebx
push eax
call fcn.0143568e
add esp, 4
mov edx, 0x40821a
mov ecx, edi
push 4
call fcn.0143568e
add esp, 4
push dword [edi + 0x110]
call fcn.014285a8
add esp, 4
mov dword [esi + 0x54], eax
mov eax, edi
lea edi, [eax + 0x248]
push 0x25
push dword [eax + 0x248]
call fcn.01426937
add esp, 8
test eax, eax
je 0x143e3df
test byte [esi + 0x18], 0x20
je 0x143e3df
cmp dword [esi + 0x24], 0
je 0x143e5e4
push 0x25
push dword [edi]
call fcn.01426937
add esp, 8
test eax, eax
je 0x143e3ff
test byte [esi + 0x1a], 1
je 0x143e3ff
cmp dword [esi + 0x28], 0
je 0x143e5ae
cmp dword [esi + 0x5c], 9
jne 0x143e441
test byte [esi + 0x18], 8
jne 0x143e446
push 0x4084ff
call fcn.0142852c
add esp, 4
mov ecx, dword [esp + 4]
mov edx, eax
call fcn.014394ba
mov dword [esi], 0
xor edi, edi
mov ecx, dword [esp + 0x108]
call fcn.01466d40
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea edi, [esi + 0x54]
jmp 0x143e490
mov eax, dword [esi + 0x54]
lea edi, [esi + 0x54]
mov dword [eax], 1
push 0x40852d
call fcn.01428572
add esp, 4
mov ecx, dword [esi + 0x54]
mov dword [ecx + 4], eax
mov eax, dword [esp + 4]
push dword [eax + 0xf8]
push dword [eax + 0x250]
push 0x40853a
call fcn.0142852c
add esp, 0xc
push 0
push eax
push dword [esi + 0x54]
call fcn.0142865b
add esp, 0xc
xor eax, eax
push eax
push eax
push dword [edi]
call fcn.01464160
add esp, 0xc
mov edi, dword [esp + 4]
test eax, eax
js 0x143e554
je 0x143e569
mov eax, dword [esi + 0x5c]
cmp eax, 9
jne 0x143e587
mov eax, dword [edi + 0x50]
test al, 5
je 0x143e670
test al, 4
jne 0x143e785
mov eax, dword [esi + 0x54]
mov eax, dword [eax + 0x18]
mov eax, dword [eax]
mov ebx, dword [eax + 8]
push ebx
call fcn.01476c84
add esp, 4
mov edi, eax
cmp edi, 0x3f
ja 0x143e51c
lea eax, [esp + 0xac]
push ebx
mov ebx, eax
push ebx
call fcn.014769e4
add esp, 8
mov eax, edi
inc eax
cmp eax, 0x3f
ja 0x143e517
call fcn.0145503a
mov byte [esp + edi + 0xad], al
inc edi
cmp edi, 0x3f
jne 0x143e505
mov edi, 0x40
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 4]
lea eax, [esi + 0x54]
mov dword [esp + 8], eax
lea eax, [ebx + 0x110]
mov dword [esp + 0x10], eax
push 0x4085b7
push dword [ebx + 0x110]
call fcn.0145eb04
add esp, 8
push 0
push edi
push dword [esp + 0x1c]
jmp 0x143e7d0
mov dword [edi + 0x100], 1
mov dword [esi], 0x1335
jmp 0x143e429
push dword [esi + 0x54]
call fcn.014287e2
add esp, 4
mov ecx, edi
xor edi, edi
xor edx, edx
push 1
push edi
push 0x4081e0
jmp 0x143e22a
mov ecx, dword [esi + 0x54]
lea ebx, [esi + 0x54]
mov ecx, dword [ecx + 0x18]
mov ecx, dword [ecx]
push 0
push dword [ecx + 8]
push 4
push eax
push edi
call fcn.01434174
add esp, 0x14
add edi, 0x110
jmp 0x143e7e9
mov dword [esi + 0x5c], 0x48
push 0x408405
mov edi, dword [esp + 8]
push dword [edi + 0x110]
call fcn.0145eb04
add esp, 8
push 0
push 0x46
push edi
call fcn.01434174
add esp, 0xc
mov dword [esi], 0x12fa
jmp 0x143e429
mov dword [esi + 0x5c], 0x29
push 0x408331
mov edi, dword [esp + 8]
push dword [edi + 0x110]
call fcn.0145eb04
add esp, 8
push 0
push 0x27
push edi
call fcn.01434174
add esp, 0xc
mov dword [esi], 0x12cf
jmp 0x143e429
mov edi, dword [esp + 4]
mov edx, 0x40821f
mov ecx, edi
push 0x13
call fcn.0143568e
add esp, 4
jmp 0x143e239
push 0
push dword [esi + 0x88]
push 5
push 6
push edi
call fcn.01434174
add esp, 0x14
mov dword [esi], 0x128e
jmp 0x143e429
push 0x1281
push 0x406132
push 0x408234
call fcn.01474209
add esp, 0xc
jmp 0x143e239
mov eax, dword [esi + 0x54]
mov eax, dword [eax + 0x18]
mov eax, dword [eax]
push dword [eax + 8]
call fcn.01476c84
add esp, 4
mov edx, eax
mov ecx, eax
xor edi, edi
mov ebx, 0xf
mov dword [esp + 8], eax
and edx, 0xfffffff8
or ecx, 7
cmp eax, 0x10
cmovge edi, edx
cmovge ebx, ecx
cmp eax, edi
jl 0x143e6ab
cmp dword [esp + 8], ebx
jle 0x143e6c2
push 0x137d
push 0x406132
push 0x40854e
call fcn.01474209
add esp, 0xc
xor ecx, ecx
lea eax, [ebx + 1]
inc ecx
push ecx
push eax
call fcn.014285db
add esp, 8
mov ecx, ebx
mov ebx, eax
cmp edi, ecx
mov dword [esp + 0x10], ecx
jg 0x143e743
mov dword [esp + 0xc], esi
cmp edi, dword [esp + 8]
jne 0x143e708
mov eax, dword [esi + 0x54]
mov eax, dword [eax + 0x18]
mov eax, dword [eax]
push 0
push dword [eax + 8]
push 4
push dword [esi + 0x5c]
push dword [esp + 0x14]
call fcn.0143e9a4
add esp, 0x14
jmp 0x143e73a
test edi, edi
jle 0x143e71f
xor esi, esi
call fcn.0145503a
test al, al
mov byte [ebx + esi], al
je 0x143e70e
inc esi
cmp esi, edi
jne 0x143e70e
mov byte [ebx + edi], 0
push 0
push ebx
push 4
push 0x20
push dword [esp + 0x14]
call fcn.0143e9a4
add esp, 0x14
mov esi, dword [esp + 0xc]
cmp edi, dword [esp + 0x10]
lea edi, [edi + 1]
jl 0x143e6e2
mov edi, dword [esp + 4]
lea eax, [esi + 0x54]
mov dword [esp + 8], eax
lea eax, [edi + 0x110]
mov dword [esp + 0x10], eax
push 0x40858e
push dword [edi + 0x110]
call fcn.0145eb04
add esp, 8
mov ecx, edi
call fcn.01435d7d
push ebx
mov ebx, dword [esp + 0xc]
call fcn.014287a8
mov edi, dword [esp + 0x14]
add esp, 4
jmp 0x143e7e9
lea eax, [esi + 0x54]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x54]
mov eax, dword [eax + 0x18]
mov eax, dword [eax]
push dword [eax + 8]
call fcn.01476c84
add esp, 4
mov ebx, dword [esp + 4]
mov edi, eax
lea eax, [ebx + 0x110]
mov dword [esp + 0x10], eax
push 0x4085d6
push dword [ebx + 0x110]
call fcn.0145eb04
add esp, 8
mov eax, dword [esi + 0x54]
mov eax, dword [eax + 0x18]
mov eax, dword [eax]
push 0
push edi
push dword [eax + 8]
push 3
push edi
push 1
push dword [esi + 0x5c]
push ebx
mov ebx, dword [esp + 0x28]
call fcn.01434174
mov edi, dword [esp + 0x30]
add esp, 0x20
push 0x4085f0
push dword [edi]
call fcn.0145eb04
add esp, 8
push dword [ebx]
call fcn.014287e2
add esp, 4
mov dword [esi], 0x13c2
jmp 0x143e429