Function at 0x14d9335
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 [0x42b238]
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 0x14d9383
push pe_nt_image_headers32
push 1
call fcn.014c75c3
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 0x14d956a
cmp ecx, 0x1111
jle 0x14d95fb
cmp ecx, 0x1142
jle 0x14d988b
cmp ecx, 0x1143
je 0x14d99f8
cmp ecx, 0x118e
je 0x14d9aeb
cmp ecx, 0x11d4
jne 0x14da9f8
test edi, edi
je 0x14daaea
mov eax, dword [esp + 4]
cmp dword [edi + 8], 7
mov eax, dword [eax + 0x110]
jne 0x14d9e4b
push 0x40d3a0
push eax
call fcn.0150c067
add esp, 8
mov ecx, edi
call fcn.014db32d
test eax, eax
mov dword [esi + 0xa4], eax
je 0x14d9fe1
push dword [esi + 0x8c]
call fcn.014e57b0
add esp, 4
mov edi, eax
push dword [esi + 0x88]
call fcn.014e57b0
add esp, 4
mov ebx, eax
add ebx, edi
push dword [esi + 0xa4]
call fcn.014e57b0
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.014c75c3
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.014e572c
add esp, 4
shr eax, 0x18
mov byte [edi + 5], al
push dword [esi + 0x88]
call fcn.014e572c
add esp, 4
shr eax, 0x10
mov byte [edi + 6], al
push dword [esi + 0x88]
call fcn.014e572c
add esp, 4
mov byte [edi + 7], ah
push dword [esi + 0x88]
call fcn.014e572c
add esp, 4
mov byte [edi + 8], al
lea eax, [edi + 9]
push dword [esi + 0x8c]
push eax
call fcn.014e5876
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.014e5876
add esp, 8
mov ebx, eax
add ebx, esi
mov esi, dword [esp + 0xc]
push dword [esi + 0xa4]
push ebx
call fcn.014e5876
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 0x453528
push eax
push ecx
push dword [esp + 0x18]
push edi
call fcn.0151a6f2
add esp, 0x18
mov dword [ebx + 0x6d0], eax
mov ebx, eax
push edi
call fcn.014c7790
add esp, 4
test ebx, ebx
jne 0x14d9e29
mov edi, dword [esp + 0x20]
jmp 0x14da07c
cmp ecx, 0x12b3
jle 0x14d97f0
cmp ecx, 0x12f9
jle 0x14d98cb
cmp ecx, 0x12fa
je 0x14d9b17
cmp ecx, 0x1335
je 0x14d9bc7
cmp ecx, 0x13c2
jne 0x14da9f8
test edi, edi
je 0x14db1cf
mov eax, dword [edi + 8]
cmp eax, 0xe
je 0x14da3be
cmp eax, 0xf
jne 0x14d9ee6
test byte [0x428eb0], 1
je 0x14d95df
mov ecx, dword [esp + 4]
mov edx, 0x40d992
push 0xf
call fcn.014d205b
add esp, 4
push 0x40d9a2
mov eax, dword [esp + 8]
push dword [eax + 0x110]
call fcn.0150c067
add esp, 8
jmp 0x14da3be
cmp ecx, 0x1078
jg 0x14d9989
test ecx, ecx
je 0x14d9617
cmp ecx, 0x1016
jne 0x14da9f8
test edi, edi
je 0x14d9deb
cmp dword [edi + 8], 2
jne 0x14d9df6
push 0x40cedb
mov eax, dword [esp + 8]
push dword [eax + 0x110]
call fcn.0150c067
add esp, 8
mov ecx, dword [edi]
mov eax, dword [edi + 0x18]
sub ecx, eax
cmp ecx, 8
jl 0x14d9e00
lea ecx, [eax + 8]
mov dword [edi + 0x18], ecx
add eax, dword [edi + 0x14]
je 0x14d9e00
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.014db294
add esp, 4
test eax, eax
je 0x14da176
lea ebx, [esi + 0xdc]
lea eax, [esi + 0x10]
mov ecx, edi
mov edx, ebx
push eax
call fcn.014db294
add esp, 4
test eax, eax
je 0x14da176
push 0x40cb2b
mov eax, dword [esp + 8]
mov dword [esp + 0x14], ebx
push dword [eax + 0x110]
call fcn.0150c067
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.0152fcec
add esp, 4
mov ecx, 0x50
sub ecx, eax
lea eax, [esp + eax + 0xac]
push dword [esp + 0x10]
push ecx
push eax
call fcn.014f2175
add esp, 0xc
push ebx
mov ebx, dword [esp + 8]
push dword [ebx + 0x110]
call fcn.0150c067
add esp, 8
mov ecx, edi
call fcn.014d59e6
mov ecx, edi
mov dword [ebx + 0x40], eax
call fcn.014d59e6
mov ecx, edi
mov dword [esi + 0x14], eax
call fcn.014d59e6
mov dword [esi + 0x18], eax
test byte [ebx + 0x50], 8
je 0x14d9745
and eax, 0xfffffffb
mov dword [esi + 0x18], eax
lea edi, [esp + 0xac]
mov dword [ebx + 0x44], 1
push edi
call fcn.014eea40
add esp, 4
push dword [esi + 0xe0]
push dword [esi + 0x10]
push edi
call fcn.014eea5a
add esp, 0xc
push dword [esi + 0xbc]
push dword [esi + 0xc]
push edi
call fcn.014eea5a
add esp, 0xc
lea eax, [esp + 0x28]
push 8
push eax
push edi
call fcn.014eea5a
add esp, 0xc
mov dword [esp + 0xc], esi
lea eax, [esi + 0x2c]
push edi
push eax
call fcn.014ef29b
add esp, 8
mov esi, 0x1c
call fcn.014f1a0a
mov byte [ebx + esi], al
inc esi
cmp esi, 0x3c
jne 0x14d97a6
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0xe0]
lea ecx, [eax*8]
cmp dword [esi + 0xdc], ecx
jg 0x14d97e6
mov ecx, dword [esi + 0xbc]
lea edx, [ecx*8]
cmp dword [esi + 0xb8], edx
jle 0x14da7c3
push 0x40cf5d
jmp 0x14daddd
cmp ecx, 0x1258
jg 0x14d99b3
cmp ecx, 0x11fb
je 0x14d9bef
cmp ecx, 0x120f
jne 0x14da9f8
test edi, edi
je 0x14da0c4
cmp dword [edi + 8], 0xe
mov edi, dword [esp + 4]
mov eax, dword [edi + 0x110]
jne 0x14d9e5e
push 0x40d3fd
push eax
call fcn.0150c067
add esp, 8
test byte [0x428eb0], 1
je 0x14d987f
mov edx, 0x40d419
mov ecx, edi
push 0x1d
call fcn.014d205b
add esp, 4
mov edx, dword [esi + 0xa8]
mov ecx, edi
push dword [esi + 0xac]
call fcn.014d205b
add esp, 4
mov edx, 0x40d437
mov ecx, edi
push 0xe
call fcn.014d205b
add esp, 4
mov dword [esi + 0x7c], 1
jmp 0x14da1c2
cmp ecx, 0x1112
je 0x14d9c01
cmp ecx, 0x1126
jne 0x14da9f8
test edi, edi
jne 0x14d9ff5
push eax
push ebx
push dword [esi + 0x54]
call fcn.01514f48
add esp, 0xc
mov edi, dword [esp + 4]
mov dword [edi + 0x100], 0
jmp 0x14d9cb3
cmp ecx, 0x12b4
je 0x14d9d73
cmp ecx, 0x12cf
jne 0x14da9f8
test edi, edi
je 0x14dafdc
cmp dword [edi + 8], 0x28
jne 0x14d9e69
lea ebx, [esp + 0xac]
lea eax, [esp + 0x28]
mov ecx, edi
mov edx, ebx
push eax
call fcn.014d5a05
add esp, 4
mov ebx, dword [ebx]
test ebx, ebx
je 0x14da180
push 0x40d740
mov eax, dword [esp + 8]
push dword [eax + 0x110]
call fcn.0150c067
add esp, 8
mov eax, dword [esi + 0x54]
mov dword [eax], 1
push 0x40d757
call fcn.014c755a
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.0152077c
add esp, 0xc
test eax, eax
je 0x14da24c
push 0x402159
call fcn.014c755a
add esp, 4
mov edi, eax
push ebx
push esi
push 0x4021cd
call fcn.014c7514
add esp, 0xc
jmp 0x14da26a
cmp ecx, 0x1079
je 0x14d9db5
cmp ecx, 0x10cf
jne 0x14da9f8
test edi, edi
je 0x14d9e0a
push 0x40c62b
jmp 0x14daddd
cmp ecx, 0x1259
je 0x14d9dc3
cmp ecx, 0x128e
jne 0x14da9f8
test edi, edi
je 0x14db016
mov eax, dword [edi + 8]
cmp eax, 7
je 0x14d9ef9
cmp eax, 0xf
jne 0x14d9fcd
mov ecx, dword [esp + 4]
mov edx, 0x40d61c
push 0x20
jmp 0x14d9da8
test edi, edi
je 0x14d9d68
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.014b9b6b
add esp, 8
mov dword [esi + 0xb4], eax
push eax
call fcn.015172da
add esp, 4
test eax, eax
jne 0x14da3b7
push dword [esi + 0xb4]
call fcn.015172b5
add esp, 4
push eax
push 0x40d1c4
push ebx
call fcn.014cfbce
add esp, 0xc
push dword [esi + 0xb4]
call fcn.014f1635
add esp, 4
mov ebx, eax
cmp ebx, 8
je 0x14d9a83
cmp ebx, 2
jne 0x14da20c
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.014efc30
add esp, 0x14
test eax, eax
je 0x14da350
xor eax, eax
cmp ebx, 2
sete al
mov dword [esi + 0x4c], eax
je 0x14d9ad3
push 0x40d1de
push dword [esp + 8]
call fcn.014cfbce
add esp, 8
push 0
push dword [esi + 0xb4]
call fcn.014efba9
add esp, 8
mov dword [esi + 0x50], eax
jmp 0x14da3be
test edi, edi
jne 0x14d9bf7
mov edi, dword [esp + 4]
test eax, eax
jg 0x14da459
mov eax, dword [edi + 0x254]
mov dword [esp + 0x24], eax
mov ecx, dword [edi + 0x258]
mov dword [esi + 0x70], ecx
jmp 0x14da468
test edi, edi
je 0x14dafa6
cmp dword [edi + 8], 0x47
jne 0x14d9ea8
lea ebx, [esp + 0xac]
lea eax, [esp + 0x28]
mov ecx, edi
mov edx, ebx
push eax
call fcn.014d5a05
add esp, 4
mov ebx, dword [ebx]
test ebx, ebx
je 0x14da18a
push 0x40d832
mov eax, dword [esp + 8]
push dword [eax + 0x110]
call fcn.0150c067
add esp, 8
mov eax, dword [esi + 0x54]
mov dword [eax], 1
push 0x40d850
call fcn.014c755a
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.0152077c
add esp, 0xc
test eax, eax
je 0x14da2c5
push 0x402159
call fcn.014c755a
add esp, 4
mov edi, eax
push ebx
push esi
push 0x4021cd
call fcn.014c7514
add esp, 0xc
jmp 0x14da2e3
test edi, edi
jne 0x14daf2b
push eax
push ebx
push dword [esi + 0x54]
call fcn.01514f48
add esp, 0xc
mov edi, dword [esp + 4]
mov dword [edi + 0x100], 0
jmp 0x14dae6f
test edi, edi
je 0x14d9e21
push 0x40d2ad
jmp 0x14daddd
test edi, edi
je 0x14da7b8
cmp dword [edi + 8], 0xe
jne 0x14d9edc
push 0x40d162
mov edi, dword [esp + 8]
push dword [edi + 0x110]
call fcn.0150c067
add esp, 8
push 1
call fcn.0152331b
add esp, 4
push eax
call fcn.0152e639
add esp, 4
push dword [edi + 0x248]
call fcn.014cbfeb
add esp, 4
test eax, eax
mov dword [edi + 0x250], eax
jne 0x14d9ceb
push dword [edi + 0x110]
call fcn.014c7590
add esp, 4
mov ebx, edi
mov dword [esi + 0x54], eax
mov edi, esi
xor esi, esi
inc esi
mov dword [eax], esi
push 0x40d182
call fcn.014c755a
add esp, 4
mov ecx, dword [edi + 0x54]
mov dword [ecx + 4], eax
push 0x40d191
call fcn.014c755a
add esp, 4
push esi
mov esi, edi
mov edi, ebx
push eax
push dword [esi + 0x54]
call fcn.014c7643
add esp, 0xc
xor eax, eax
push eax
push eax
push dword [esi + 0x54]
call fcn.01514f48
add esp, 0xc
test eax, eax
js 0x14d9feb
mov eax, dword [esi + 0x54]
je 0x14da194
mov eax, dword [eax + 0x18]
mov eax, dword [eax]
push dword [eax + 8]
call fcn.014c755a
add esp, 4
mov dword [edi + 0x250], eax
push dword [esi + 0x54]
call fcn.014c77ca
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.014d0b4c
add esp, 0x14
push dword [edi + 0x250]
push 0x40d1b1
call fcn.014c7514
add esp, 8
mov ecx, edi
mov edi, eax
push edi
mov ebx, ecx
push dword [ecx + 0x110]
call fcn.0150c067
add esp, 8
mov eax, dword [0x428eb0]
test al, 4
je 0x14d9d5f
and eax, 3
cmp eax, 3
je 0x14d9d5f
push edi
call fcn.0152fcec
add esp, 4
mov ecx, ebx
mov edx, edi
push eax
call fcn.014d205b
add esp, 4
mov edx, 0x406993
mov ecx, ebx
push 2
call fcn.014d205b
add esp, 4
push edi
call fcn.014c7790
add esp, 4
mov dword [esi], 0x1143
jmp 0x14dadf6
test edi, edi
je 0x14d9fc2
mov eax, dword [edi + 8]
cmp eax, 0xe
je 0x14da9c6
cmp eax, 0xf
jne 0x14d9fd7
test byte [0x428eb0], 1
je 0x14da3be
mov ecx, dword [esp + 4]
mov edx, 0x40d665
push 0x2d
call fcn.014d205b
add esp, 4
jmp 0x14da3be
test edi, edi
je 0x14d9e34
push 0x40cb78
jmp 0x14daddd
test edi, edi
jne 0x14dabda
push eax
push ebx
push dword [esi + 0x54]
call fcn.01514f48
add esp, 0xc
mov edi, dword [esp + 4]
mov dword [edi + 0x100], 0
jmp 0x14daba8
mov dword [esi], 0x1016
jmp 0x14dadf6
push 0x40cebc
jmp 0x14daddd
push 0x40cef0
jmp 0x14daddd
mov edi, dword [esp + 4]
test eax, eax
jle 0x14da000
mov dword [esi], 0x10cf
jmp 0x14dadf6
test eax, eax
jle 0x14da064
mov dword [esi], 0x11fb
jmp 0x14dadf6
mov edi, dword [esp + 4]
test eax, eax
jle 0x14da0cf
mov dword [esi], 0x1079
jmp 0x14dadf6
push 0x40d394
push eax
call fcn.0150c067
add esp, 8
jmp 0x14da1f6
push 0x40d446
push eax
jmp 0x14da1ba
push 0x40d6e0
mov eax, dword [esp + 8]
push dword [eax + 0x110]
call fcn.0150c067
add esp, 8
test byte [0x428eb0], 4
je 0x14d9e9c
mov ecx, dword [esp + 4]
mov edx, 0x40d6fc
push 0x1d
call fcn.014d205b
add esp, 4
mov dword [esi + 0x24], 1
jmp 0x14da3be
push 0x40d7bd
mov ebx, dword [esp + 8]
push dword [ebx + 0x110]
call fcn.0150c067
add esp, 8
mov edx, 0x40d7e0
mov ecx, ebx
push 0x24
call fcn.014d205b
add esp, 4
mov dword [esi + 0x28], 1
jmp 0x14da3be
push 0x40d13e
jmp 0x14daddd
push eax
push 0x40d9b9
call fcn.014c7514
add esp, 8
jmp 0x14dade5
mov ecx, edi
call fcn.014db32d
test eax, eax
je 0x14d9fe1
mov ecx, esi
sub ecx, 0xffffff80
push ecx
mov dword [esp + 0xc], eax
push eax
call fcn.014f1dc5
add esp, 8
mov ebx, eax
mov dword [esp + 0xc], esi
push dword [esi + 0x90]
call fcn.014e36d6
add esp, 4
mov edi, 0x1f
lea esi, [esp + 0x28]
push edi
push ebx
call fcn.014e5820
add esp, 8
mov byte [esi], al
dec edi
inc esi
xor eax, eax
dec eax
cmp edi, eax
jne 0x14d9f38
lea esi, [esp + 0xac]
push esi
call fcn.014eea40
add esp, 4
lea eax, [esp + 0x28]
push 0x20
push eax
push esi
call fcn.014eea5a
add esp, 0xc
mov edi, dword [esp + 0xc]
mov ecx, 0x10
lea eax, [edi + 0x2c]
push ecx
push eax
push esi
call fcn.014eea5a
add esp, 0xc
push esi
mov esi, edi
lea edi, [esp + 0x2c]
push edi
call fcn.014ef29b
add esp, 8
push 0
mov eax, 0x10
push eax
push edi
push 3
push 8
push dword [esp + 0x18]
call fcn.014d0b4c
add esp, 0x18
push dword [esp + 8]
call fcn.014e36d6
add esp, 4
push ebx
call fcn.014e36d6
add esp, 4
mov dword [esi], 0x12b4
jmp 0x14dadf6
push 0x40d63d
jmp 0x14daddd
push 0x40d693
jmp 0x14daddd
push 0x40d3b7
jmp 0x14daddd
mov dword [edi + 0x100], 1
mov dword [esi], 0x1126
jmp 0x14dadf6
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 0x14da022
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 0x14da4b6
lea eax, [esi + 0x3c]
mov edi, ecx
mov eax, dword [eax]
cmp eax, 2
je 0x14da668
cmp eax, 3
je 0x14da66f
cmp eax, 6
jne 0x14da682
push 0x40d0bf
jmp 0x14da674
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 0x14da1ab
mov ebx, dword [esp + 4]
cmp byte [edi + 4], 4
mov eax, dword [ebx + 0x110]
jne 0x14da334
push 0x40d3e2
push eax
call fcn.0150c067
add esp, 8
lea eax, [edi + 5]
push 0
push 0x10
push eax
push 3
push 8
push ebx
call fcn.014d0b4c
add esp, 0x18
push edi
call fcn.014c7790
add esp, 4
mov dword [esi], 0x120f
jmp 0x14dadf6
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 0x14da0f1
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 0x14da4bd
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 0x14da126
mov cl, byte [esi + eax + 0x2c]
mov edx, dword [esi + 8]
xor byte [edx + eax], cl
inc eax
cmp eax, 0x20
jne 0x14da10e
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 0x14da4cb
push esi
push 0x20
push eax
call fcn.014f1baf
add esp, 0xc
test eax, eax
je 0x14da63f
mov eax, dword [esp + 0xc]
lea eax, [eax + 0xbc]
jmp 0x14da4eb
push 0x40cf25
jmp 0x14daddd
push 0x40d71a
jmp 0x14daddd
push 0x40d805
jmp 0x14daddd
push eax
call fcn.014c77ca
add esp, 4
mov ecx, edi
xor edi, edi
mov edx, 0x40d19c
jmp 0x14da4c2
push 0x40d489
mov eax, dword [esp + 8]
push dword [eax + 0x110]
call fcn.0150c067
add esp, 8
push dword [esi + 0x8c]
call fcn.014e36d6
add esp, 4
push dword [esi + 0x88]
call fcn.014e36d6
add esp, 4
push dword [esi + 0xa4]
call fcn.014e36d6
add esp, 4
cmp dword [esi + 0x7c], 0
jne 0x14da992
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 0x14da8ba
push ebx
call fcn.014f166b
add esp, 4
push eax
push 0x40d240
push dword [esp + 0xc]
call fcn.014cfbce
add esp, 0xc
push ebx
call fcn.014f166b
add esp, 4
mov ebx, eax
push dword [esi + 0xb4]
call fcn.015172b5
add esp, 4
push ebx
push eax
push 0x40d261
jmp 0x14da38c
push ebx
push esi
push 0x4021cd
call fcn.014c7514
add esp, 0xc
mov edi, eax
push 0x40d76e
call fcn.014c755a
add esp, 4
cmp byte [edi], 0
mov ebx, eax
mov eax, 0x40d779
mov ecx, 0x402159
cmovne ecx, eax
push edi
push ecx
push 0x40d77b
call fcn.014c7514
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.014c7643
add esp, 0xc
push edi
call fcn.014c7790
add esp, 4
mov eax, dword [esp + 4]
lea edi, [eax + 0x248]
jmp 0x14dadac
push ebx
push esi
push 0x4021cd
call fcn.014c7514
add esp, 0xc
mov edi, eax
push 0x40d76e
call fcn.014c755a
add esp, 4
cmp byte [edi], 0
mov ebx, eax
mov eax, 0x40d779
mov ecx, 0x402159
cmovne ecx, eax
push edi
push ecx
push 0x40d86e
call fcn.014c7514
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.014c7643
add esp, 0xc
push edi
call fcn.014c7790
add esp, 4
jmp 0x14dadcc
push 0x40d466
push eax
call fcn.0150c067
add esp, 8
push edi
call fcn.014c7790
add esp, 4
jmp 0x14da1c2
push dword [esp + 0xac]
push 0x40d200
push dword [esp + 0xc]
call fcn.014cfbce
add esp, 0xc
mov esi, dword [esp + 0xac]
mov eax, dword [esp + 0xc]
push dword [eax + 0xb4]
call fcn.015172b5
add esp, 4
push esi
mov esi, dword [esp + 0x10]
push eax
push 0x40d218
call fcn.014c7514
add esp, 0xc
mov ebx, eax
push ebx
call fcn.0152fcec
add esp, 4
mov ecx, dword [esp + 4]
mov edx, ebx
push eax
call fcn.014d205b
add esp, 4
push ebx
call fcn.014c7790
add esp, 4
mov dword [esi + 0x40], 0
cmp dword [edi + 8], 0xf
jne 0x14da9c6
mov dword [esi + 0x5c], 9
push 0x1c
mov eax, dword [esp + 8]
push dword [eax + 0x248]
call fcn.014b970b
add esp, 8
test eax, eax
je 0x14daa06
call fcn.0151a6b8
test eax, eax
je 0x14daa06
cmp dword [esi + 0x20], 0
jne 0x14daa06
mov dword [esi + 0x7c], 0
mov dword [esi + 0x20], 1
push 0x40d288
mov edi, dword [esp + 8]
push dword [edi + 0x110]
call fcn.0150c067
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 0x453528
push ecx
push edx
push 5
push eax
call fcn.0151a6f2
add esp, 0x18
test eax, eax
mov dword [edi + 0x6d0], eax
je 0x14da464
mov dword [esi], 0x118e
jmp 0x14dadf6
mov eax, dword [esp + 0x24]
test eax, eax
mov dword [esi + 0x68], eax
je 0x14da4a6
cmp dword [esi + 0x70], 5
jl 0x14da4a6
cmp byte [eax + 4], 2
jne 0x14da4a6
lea ecx, [eax + 5]
mov dword [esi + 0x6c], ecx
mov eax, dword [eax + 5]
bswap eax
push eax
call fcn.014c3094
add esp, 4
lea edi, [esi + 0x78]
test eax, eax
mov dword [esi + 0x78], eax
js 0x14da87c
mov ebx, dword [esp + 4]
jmp 0x14da897
push 0x40d4cb
push dword [edi + 0x110]
jmp 0x14da9b8
mov edx, 0x40c6b2
jmp 0x14da4c2
mov edx, 0x40cf84
push 1
push edi
push edi
jmp 0x14dabf7
push edi
push 0x20
push eax
call fcn.014f1baf
add esp, 0xc
test eax, eax
je 0x14da63f
mov eax, dword [esp + 0xc]
mov edi, esi
lea eax, [eax + 0xe0]
push edi
push dword [eax]
push dword [ebx]
call fcn.014f1baf
add esp, 0xc
test eax, eax
je 0x14da63f
push 0x40cfe4
mov eax, dword [esp + 8]
push dword [eax + 0x110]
call fcn.0150c067
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.014b97a5
add esp, 0xc
cmp eax, 4
ja 0x14da570
xor ecx, ecx
mov esi, 0x406593
mov edx, 6
inc ecx
jmp dword [eax*4 + 0x4101b8]
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
jmp 0x14da5a9
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 0x14da5d8
inc edi
cmp dword [esp + 8], 0
mov ebx, ecx
je 0x14da536
cmp dword [esp + 8], 0
je 0x14da864
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x10]
test ecx, ecx
je 0x14da03d
mov eax, dword [edi + 0x10]
test eax, eax
je 0x14da605
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x18]
add esp, 8
mov dword [edi + 0x260], 1
push edi
push 0x44e1b5
push dword [esp + 0x1c]
push 0x40d086
push dword [edi + 0x110]
call fcn.0150c5e4
add esp, 0x14
test eax, eax
mov dword [esi + 0xb0], eax
jns 0x14da00c
jmp 0x14d9e16
push 0x40cfaa
call fcn.014c7514
add esp, 4
mov ecx, dword [esp + 4]
mov edx, eax
call fcn.014d5e87
mov eax, dword [esp + 0xc]
xor edi, edi
mov dword [eax], 0
jmp 0x14dadf8
push 0x40d0a3
jmp 0x14da674
push 0x40d08d
push dword [edi + 0x110]
call fcn.0150c067
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.014d0b4c
add esp, 0x44
push 0x40d0d9
push dword [edi + 0x110]
call fcn.0150c067
add esp, 8
push dword [esi + 8]
call fcn.014c7790
add esp, 4
mov eax, dword [esi + 0x3c]
mov ecx, 0x414184
mov edx, 0x414168
cmp eax, ebx
mov ebx, 0x413880
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 0x40d0f8
push edi
call fcn.014cfbce
add esp, 0xc
call fcn.014e71e0
mov dword [edi + 0x5c], eax
push 0x40d112
push dword [edi + 0x110]
call fcn.0150c067
add esp, 8
mov eax, dword [esi + 0xc0]
test eax, eax
je 0x14da761
push eax
call fcn.014c7790
add esp, 4
mov dword [esi + 0xc0], 0
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x14da77e
push eax
call fcn.014c7790
add esp, 4
mov dword [esi + 0xc4], 0
mov eax, dword [esi + 0xe4]
test eax, eax
je 0x14da79b
push eax
call fcn.014c7790
add esp, 4
mov dword [esi + 0xe4], 0
mov eax, dword [esi + 0xe8]
test eax, eax
je 0x14da7b8
push eax
call fcn.014c7790
add esp, 4
mov dword [esi + 0xe8], 0
mov dword [esi], 0x1112
jmp 0x14dadf6
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.014c75c3
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.014f2006
add esp, 4
push esi
mov esi, dword [esp + 0x10]
push eax
call fcn.014c75c3
add esp, 8
push edi
mov dword [esp + 0xc], eax
push eax
call fcn.014f204f
add esp, 8
lea eax, [esp + 0x48]
push edi
push 0x64
push eax
call fcn.014f2175
add esp, 0xc
xor edi, edi
push edi
push edi
lea eax, [esp + 0x50]
push eax
push dword [esp + 0x10]
call fcn.014cfc1f
add esp, 0x10
test eax, eax
mov dword [esi + 0xb0], eax
je 0x14daaf5
js 0x14dab38
push dword [esp + 8]
call fcn.014c7790
add esp, 4
mov edi, dword [esp + 4]
jmp 0x14da10c
test byte [esi + 0x14], 8
mov edi, dword [esp + 4]
jne 0x14dab24
push 0x40d02a
jmp 0x14dab29
push eax
push 0x40d2ea
mov ebx, dword [esp + 0xc]
push ebx
call fcn.014cfbce
add esp, 0xc
xor eax, eax
mov dword [edi], 0
add dword [esi + 0x6c], 4
push eax
push 0x40d311
push ebx
call fcn.014cfbce
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 0x14da992
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.014c3094
add esp, 4
push esi
mov esi, edi
push eax
push dword [esi + 0x6c]
call fcn.014e574c
add esp, 0xc
test eax, eax
js 0x14da97b
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.014c3094
add esp, 4
push edi
push eax
push dword [esi + 0x6c]
call fcn.014e574c
add esp, 0xc
test eax, eax
js 0x14da97b
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 0x14da97b
mov eax, dword [eax]
bswap eax
push eax
call fcn.014c3094
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 0x14da97b
mov eax, dword [esi + 0x70]
sub eax, ecx
add eax, dword [esi + 0x68]
push eax
call fcn.014c3094
add esp, 4
mov ecx, dword [esi + 0xac]
cmp eax, ecx
jge 0x14daa7c
push 0x40d32b
mov eax, dword [esp + 8]
push dword [eax + 0x110]
call fcn.0150c067
add esp, 8
push dword [esi + 0x68]
call fcn.014c7790
add esp, 4
cmp dword [esi + 0x40], 0
je 0x14da9c0
cmp dword [esi + 0x1c], 0
jne 0x14da9c0
push 0x40d4a8
mov eax, dword [esp + 8]
push dword [eax + 0x110]
call fcn.0150c067
add esp, 8
cmp dword [esi + 0x7c], 0
je 0x14daa06
mov eax, dword [esi + 0x40]
test eax, eax
je 0x14da9e1
push eax
call fcn.014c7790
add esp, 4
push dword [esi + 0x48]
call fcn.014c7790
add esp, 4
push 0x40d9da
mov eax, dword [esp + 8]
push dword [eax + 0x110]
call fcn.0150c067
add esp, 8
xor edi, edi
mov dword [esi], 0
inc edi
jmp 0x14dadf8
cmp dword [esi + 0x40], 0
mov edi, dword [esp + 4]
je 0x14dad6f
cmp dword [esi + 0x4c], 0
je 0x14dad6f
cmp dword [esi + 0x1c], 0
jne 0x14dad6f
test byte [0x428eb0], 1
je 0x14daa42
mov edx, 0x40d4ec
mov ecx, edi
push 0x23
call fcn.014d205b
add esp, 4
push 0x20
push dword [edi + 0x248]
call fcn.014b9b6b
add esp, 8
mov dword [esi + 0xb4], eax
push eax
call fcn.015172b5
add esp, 4
push eax
push 0x40d510
push edi
call fcn.014cfbce
add esp, 0xc
mov dword [esi + 0x1c], 1
jmp 0x14dac06
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 0x14daac1
push dword [esi + 0x44]
push eax
push ebx
call fcn.01520829
add esp, 0xc
test eax, eax
jne 0x14da1f6
push dword [esi + 0x74]
push 0x40d351
push dword [esp + 0xc]
call fcn.014cfbce
add esp, 0xc
mov dword [esi + 0x1c], 1
mov eax, dword [esp + 8]
push dword [eax]
push 0x40d37d
mov ebx, dword [esp + 0xc]
push ebx
call fcn.014cfbce
add esp, 0xc
push 0
push dword [edi]
push 5
push 6
push ebx
call fcn.014d0b4c
add esp, 0x14
mov dword [esi], 0x11d4
jmp 0x14dadf6
push 0x40cb44
call fcn.014c7514
add esp, 4
mov ecx, dword [esp + 4]
mov edx, eax
call fcn.014d5e87
push dword [esp + 8]
call fcn.014c7790
add esp, 4
mov dword [esi], 0
jmp 0x14dadf8
push 0x40d06b
call fcn.014c7514
add esp, 4
mov ecx, edi
jmp 0x14dade9
mov edi, dword [esp + 4]
mov eax, dword [edi + 0x10]
test eax, eax
je 0x14dab4e
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x18]
add esp, 8
mov dword [edi + 0x260], 1
push edi
push 0x44e1b5
lea eax, [esp + 0x50]
push eax
mov ebx, dword [esp + 0x14]
push ebx
push 0x40b35e
push dword [edi + 0xfc]
push dword [edi + 0xf8]
push dword [edi + 0x110]
call fcn.0150c463
add esp, 0x20
mov dword [esi + 0xb0], eax
push ebx
call fcn.014c7790
add esp, 4
cmp dword [esi + 0xb0], 0
jns 0x14da0db
jmp 0x14d9e40
test eax, eax
js 0x14dabd0
mov eax, dword [esi + 0x54]
je 0x14dabe5
mov eax, dword [eax + 0x18]
mov eax, dword [eax]
push dword [eax + 8]
call fcn.014c755a
add esp, 4
mov edi, eax
push dword [esi + 0x54]
call fcn.014c77ca
jmp 0x14dac86
mov dword [edi + 0x100], 1
mov dword [esi], 0x1259
jmp 0x14dadf6
push eax
call fcn.014c77ca
add esp, 4
mov ecx, dword [esp + 4]
jmp 0x14daf43
call fcn.014d2424
add esp, 0xc
mov dword [esi], edi
jmp 0x14dadf8
cmp dword [esi + 0x50], 0
je 0x14dac6b
push dword [edi + 0x110]
call fcn.014c7590
add esp, 4
mov ebx, edi
mov dword [esi + 0x54], eax
mov edi, esi
xor esi, esi
mov dword [eax], esi
push 0x40d541
call fcn.014c755a
add esp, 4
mov ecx, dword [edi + 0x54]
mov dword [ecx + 4], eax
push dword [edi + 0x48]
push 0x40d554
call fcn.014c7514
add esp, 8
push esi
push eax
push dword [edi + 0x54]
call fcn.014c7643
add esp, 0xc
push esi
push esi
mov esi, edi
mov edi, ebx
push dword [esi + 0x54]
call fcn.01514f48
add esp, 0xc
jmp 0x14daba8
xor edi, edi
test byte [0x428eb0], 1
je 0x14dac89
mov ecx, dword [esp + 4]
mov edx, 0x40d527
push 0x19
call fcn.014d205b
add esp, 4
push 0x20
mov eax, dword [esp + 8]
push dword [eax + 0x248]
call fcn.014b9b6b
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.014ef73c
add esp, 0x10
mov ebx, eax
test edi, edi
je 0x14dacda
push edi
call fcn.0152fcec
add esp, 4
push eax
push edi
call fcn.0151738f
add esp, 8
push edi
call fcn.014c7790
add esp, 4
cmp ebx, 0xffffffff
je 0x14dafe7
mov edi, dword [esp + 4]
cmp ebx, 1
je 0x14db001
test ebx, ebx
jne 0x14db021
mov edx, 0x40d589
mov ecx, edi
push 0x1f
call fcn.014d205b
add esp, 4
push dword [esi + 0xb4]
call fcn.015172b5
add esp, 4
mov ebx, edi
mov edi, eax
push edi
call fcn.0152fcec
add esp, 4
mov ecx, ebx
mov edx, edi
push eax
call fcn.014d205b
add esp, 4
mov edx, 0x40d5a9
mov ecx, ebx
push 2
call fcn.014d205b
add esp, 4
mov edi, dword [esp + 0x18]
push edi
call fcn.0152fcec
add esp, 4
mov edx, edi
mov edi, ebx
mov ecx, ebx
push eax
call fcn.014d205b
add esp, 4
mov edx, 0x40d5ac
mov ecx, edi
push 4
call fcn.014d205b
add esp, 4
push dword [edi + 0x110]
call fcn.014c7590
add esp, 4
mov dword [esi + 0x54], eax
mov eax, edi
lea edi, [eax + 0x248]
push 0x25
push dword [eax + 0x248]
call fcn.014b970b
add esp, 8
test eax, eax
je 0x14dadac
test byte [esi + 0x18], 0x20
je 0x14dadac
cmp dword [esi + 0x24], 0
je 0x14dafb1
push 0x25
push dword [edi]
call fcn.014b970b
add esp, 8
test eax, eax
je 0x14dadcc
test byte [esi + 0x1a], 1
je 0x14dadcc
cmp dword [esi + 0x28], 0
je 0x14daf7b
cmp dword [esi + 0x5c], 9
jne 0x14dae0e
test byte [esi + 0x18], 8
jne 0x14dae13
push 0x40d893
call fcn.014c7514
add esp, 4
mov ecx, dword [esp + 4]
mov edx, eax
call fcn.014d5e87
mov dword [esi], 0
xor edi, edi
mov ecx, dword [esp + 0x108]
call fcn.0151fa06
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea edi, [esi + 0x54]
jmp 0x14dae5d
mov eax, dword [esi + 0x54]
lea edi, [esi + 0x54]
mov dword [eax], 1
push 0x40d8c1
call fcn.014c755a
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 0x40d8ce
call fcn.014c7514
add esp, 0xc
push 0
push eax
push dword [esi + 0x54]
call fcn.014c7643
add esp, 0xc
xor eax, eax
push eax
push eax
push dword [edi]
call fcn.01514f48
add esp, 0xc
mov edi, dword [esp + 4]
test eax, eax
js 0x14daf21
je 0x14daf36
mov eax, dword [esi + 0x5c]
cmp eax, 9
jne 0x14daf54
mov eax, dword [edi + 0x50]
test al, 5
je 0x14db03d
test al, 4
jne 0x14db152
mov eax, dword [esi + 0x54]
mov eax, dword [eax + 0x18]
mov eax, dword [eax]
mov ebx, dword [eax + 8]
push ebx
call fcn.0152fcec
add esp, 4
mov edi, eax
cmp edi, 0x3f
ja 0x14daee9
lea eax, [esp + 0xac]
push ebx
mov ebx, eax
push ebx
call fcn.0152f9bc
add esp, 8
mov eax, edi
inc eax
cmp eax, 0x3f
ja 0x14daee4
call fcn.014f1a0a
mov byte [esp + edi + 0xad], al
inc edi
cmp edi, 0x3f
jne 0x14daed2
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 0x40d94b
push dword [ebx + 0x110]
call fcn.0150c067
add esp, 8
push 0
push edi
push dword [esp + 0x1c]
jmp 0x14db19d
mov dword [edi + 0x100], 1
mov dword [esi], 0x1335
jmp 0x14dadf6
push dword [esi + 0x54]
call fcn.014c77ca
add esp, 4
mov ecx, edi
xor edi, edi
xor edx, edx
push 1
push edi
push 0x40d572
jmp 0x14dabf7
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.014d0b4c
add esp, 0x14
add edi, 0x110
jmp 0x14db1b6
mov dword [esi + 0x5c], 0x48
push 0x40d799
mov edi, dword [esp + 8]
push dword [edi + 0x110]
call fcn.0150c067
add esp, 8
push 0
push 0x46
push edi
call fcn.014d0b4c
add esp, 0xc
mov dword [esi], 0x12fa
jmp 0x14dadf6
mov dword [esi + 0x5c], 0x29
push 0x40d6c3
mov edi, dword [esp + 8]
push dword [edi + 0x110]
call fcn.0150c067
add esp, 8
push 0
push 0x27
push edi
call fcn.014d0b4c
add esp, 0xc
mov dword [esi], 0x12cf
jmp 0x14dadf6
mov edi, dword [esp + 4]
mov edx, 0x40d5b1
mov ecx, edi
push 0x13
call fcn.014d205b
add esp, 4
jmp 0x14dac06
push 0
push dword [esi + 0x88]
push 5
push 6
push edi
call fcn.014d0b4c
add esp, 0x14
mov dword [esi], 0x128e
jmp 0x14dadf6
push 0x1281
push 0x40b4d0
push 0x40d5c6
call fcn.0152ce59
add esp, 0xc
jmp 0x14dac06
mov eax, dword [esi + 0x54]
mov eax, dword [eax + 0x18]
mov eax, dword [eax]
push dword [eax + 8]
call fcn.0152fcec
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 0x14db078
cmp dword [esp + 8], ebx
jle 0x14db08f
push 0x137d
push 0x40b4d0
push 0x40d8e2
call fcn.0152ce59
add esp, 0xc
xor ecx, ecx
lea eax, [ebx + 1]
inc ecx
push ecx
push eax
call fcn.014c75c3
add esp, 8
mov ecx, ebx
mov ebx, eax
cmp edi, ecx
mov dword [esp + 0x10], ecx
jg 0x14db110
mov dword [esp + 0xc], esi
cmp edi, dword [esp + 8]
jne 0x14db0d5
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.014db371
add esp, 0x14
jmp 0x14db107
test edi, edi
jle 0x14db0ec
xor esi, esi
call fcn.014f1a0a
test al, al
mov byte [ebx + esi], al
je 0x14db0db
inc esi
cmp esi, edi
jne 0x14db0db
mov byte [ebx + edi], 0
push 0
push ebx
push 4
push 0x20
push dword [esp + 0x14]
call fcn.014db371
add esp, 0x14
mov esi, dword [esp + 0xc]
cmp edi, dword [esp + 0x10]
lea edi, [edi + 1]
jl 0x14db0af
mov edi, dword [esp + 4]
lea eax, [esi + 0x54]
mov dword [esp + 8], eax
lea eax, [edi + 0x110]
mov dword [esp + 0x10], eax
push 0x40d922
push dword [edi + 0x110]
call fcn.0150c067
add esp, 8
mov ecx, edi
call fcn.014d274a
push ebx
mov ebx, dword [esp + 0xc]
call fcn.014c7790
mov edi, dword [esp + 0x14]
add esp, 4
jmp 0x14db1b6
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.0152fcec
add esp, 4
mov ebx, dword [esp + 4]
mov edi, eax
lea eax, [ebx + 0x110]
mov dword [esp + 0x10], eax
push 0x40d96a
push dword [ebx + 0x110]
call fcn.0150c067
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.014d0b4c
mov edi, dword [esp + 0x30]
add esp, 0x20
push 0x40d984
push dword [edi]
call fcn.0150c067
add esp, 8
push dword [ebx]
call fcn.014c77ca
add esp, 4
mov dword [esi], 0x13c2
jmp 0x14dadf6