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

Disassembly:
sub esp, 0x9c
mov edx, dword [esp + 0xa0]
mov eax, 0x410
push esi
push edi
mov edi, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xac]
add edx, 0xfffffffc
add eax, edx
mov dword [esp + 0x1c], edi
push 0
mov ecx, dword [edi + 0x54800]
cdq
push edx
push eax
mov esi, dword [ecx]
mov dword [esp + 0x54], 0xffffffff
mov dword [esp + 0x34], 0x45f30410
call dword [esi + 0xc]
mov ecx, edi
call fcn.10131c40
mov ecx, dword [edi + 0x54800]
add eax, dword [esp + 0xa8]
push 0
cdq
mov esi, dword [ecx]
push edx
push eax
call dword [esi + 0xc]
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, ecx
or eax, dword [esp + 0xb0]
cmp eax, 0x7f
jg 0x10143bdc
test ecx, ecx
je 0x10143bdc
nop dword [eax]
dec ecx
mov word [esp + 0xac], 0xffff
mov dword [esp + 8], ecx
lea edx, [esp + 0xac]
mov ecx, dword [edi + 0x54800]
push 2
push 1
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x10142a76
movzx ecx, byte [esp + 0xad]
movzx eax, byte [esp + 0xac]
jmp 0x10142a86
movzx ecx, byte [esp + 0xac]
movzx eax, byte [esp + 0xad]
shl cx, 8
or cx, ax
movzx eax, cx
mov ecx, edi
mov dword [esp + 0x20], eax
call fcn.10131c40
mov ecx, dword [edi + 0x54800]
mov dword [esp + 0xa0], eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x10]
call edx
mov ecx, dword [edi + 0x54800]
add eax, 4
push 0
mov dword [esp + 0x10], eax
mov esi, dword [ecx]
mov ecx, edi
call fcn.10131c40
add eax, dword [esp + 0xac]
mov ecx, dword [edi + 0x54800]
push 0
push eax
call dword [esi + 0xc]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0xb0]
movzx esi, ax
inc edx
mov eax, esi
mov dword [esp + 0x4c], edx
shr eax, 8
add eax, 8
or eax, 8
cmp eax, 0x38
jne 0x10142b1e
mov ecx, dword [edi + 0x54800]
push edx
push dword [esp + 0xa4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
push eax
mov ecx, edi
call fcn.101429a0
mov edx, dword [esp + 0x4c]
cmp esi, 0x3004
jne 0x10142b48
mov ecx, dword [edi + 0x54800]
push edx
push dword [esp + 0xa4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
push eax
mov ecx, edi
call fcn.101429a0
jmp 0x10143b33
cmp esi, 0x810
jne 0x10142b6b
mov ecx, dword [edi + 0x54800]
lea eax, [edi + 0x2aba4]
push 1
push 0x40
push eax
mov edx, dword [ecx]
call dword [edx + 8]
jmp 0x10143b33
cmp esi, 0x80a
jne 0x10142bd4
mov ecx, dword [edi + 0x54800]
lea esi, [edi + 0xc4]
push 1
push 0x40
push esi
mov eax, dword [ecx]
call dword [eax + 8]
push 0x3f
push 0
push esi
call fcn.1026cb50
mov edx, eax
add esp, 0xc
mov ecx, edx
mov eax, 0x3f
sub ecx, esi
test edx, edx
cmovne eax, ecx
mov ecx, dword [edi + 0x54800]
push 1
add eax, 0xffffffc1
push 0
mov edx, dword [ecx]
push eax
call dword [edx + 0xc]
mov ecx, dword [edi + 0x54800]
lea eax, [edi + 0x104]
push 1
push 0x40
push eax
mov edx, dword [ecx]
call dword [edx + 8]
jmp 0x10143b33
cmp esi, 0x1810
jne 0x10142c1a
mov ecx, edi
call fcn.10131c40
mov ecx, edi
mov word [edi + 0x16], ax
call fcn.10131c40
mov ecx, edi
mov word [edi + 0x14], ax
call fcn.10131c40
mov dword [esp + 0x4c], eax
mov ecx, edi
movss xmm0, dword [esp + 0x4c]
cvtps2pd xmm0, xmm0
movsd qword [edi + 0x28], xmm0
call fcn.10131c40
mov dword [edi + 0x30], eax
jmp 0x10143b33
cmp esi, 0x1835
jne 0x10142c34
mov ecx, edi
call fcn.10131c40
mov dword [edi + 0x548a8], eax
jmp 0x10143b33
cmp esi, 0x2007
jne 0x10142c67
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov dword [edi + 0x54818], eax
mov eax, dword [esp + 0xa0]
mov dword [edi + 0x5481c], edx
mov dword [edi + 0x2ac28], eax
jmp 0x10143b33
cmp esi, 0x1818
jne 0x10142d27
mov ecx, edi
call fcn.10131c40
mov ecx, edi
call fcn.10131c40
mov dword [esp + 0x4c], eax
movss xmm1, dword [esp + 0x4c]
xorps xmm1, xmmword [0x103f0410]
comiss xmm1, dword [0x102c6178]
ja 0x10142cbf
movss xmm0, dword [0x102c61a8]
comiss xmm0, xmm1
ja 0x10142cbf
movsd xmm0, qword [0x103efac0]
cvtss2sd xmm1, xmm1
call fcn.1027dc40
cvtsd2ss xmm0, xmm0
jmp 0x10142cc2
xorps xmm0, xmm0
mov ecx, edi
movss dword [edi + 0x2a8dc], xmm0
call fcn.10131c40
mov dword [esp + 0x4c], eax
movss xmm1, dword [esp + 0x4c]
mulss xmm1, dword [0x103ef8f0]
comiss xmm1, dword [0x102c6178]
ja 0x10142d0f
movss xmm0, dword [0x102c61a8]
comiss xmm0, xmm1
ja 0x10142d0f
movsd xmm0, qword [0x103efac0]
cvtps2pd xmm1, xmm1
call fcn.1027dc40
cvtsd2ss xmm0, xmm0
jmp 0x10142d12
xorps xmm0, xmm0
movss dword [edi + 0x2a8e0], xmm0
movss dword [edi + 0x544], xmm0
jmp 0x10143b33
cmp esi, 0x102a
jne 0x101430c0
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x34]
push 2
mov word [esp + 0x38], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x9c]
push 2
mov word [esp + 0xa0], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x10142d8f
movzx ecx, byte [esp + 0x9d]
movzx eax, byte [esp + 0x9c]
jmp 0x10142d9f
movzx ecx, byte [esp + 0x9c]
movzx eax, byte [esp + 0x9d]
shl cx, 8
lea edx, [esp + 0x98]
or cx, ax
mov word [esp + 0x98], 0xffff
movzx esi, cx
mov ecx, dword [edi + 0x54800]
push 2
push 1
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x10142dea
movzx ecx, byte [esp + 0x99]
movzx eax, byte [esp + 0x98]
jmp 0x10142dfa
movzx ecx, byte [esp + 0x98]
movzx eax, byte [esp + 0x99]
shl cx, 8
or cx, ax
movzx eax, cx
movzx ecx, ax
movzx eax, si
add ecx, eax
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x102c5fac]
subss xmm1, dword [0x103efc24]
comiss xmm1, dword [0x102c6178]
ja 0x10142e4f
movss xmm0, dword [0x102c61a8]
comiss xmm0, xmm1
ja 0x10142e4f
movsd xmm0, qword [0x103efac0]
cvtps2pd xmm1, xmm1
call fcn.1027dc40
cvtsd2ss xmm0, xmm0
jmp 0x10142e52
xorps xmm0, xmm0
mulss xmm0, dword [0x103efc88]
lea edx, [esp + 0x44]
mov ecx, dword [edi + 0x54800]
push 2
mov word [esp + 0x48], 0xffff
movss dword [edi + 0x2a8d8], xmm0
mov eax, dword [ecx]
push 1
push edx
call dword [eax + 8]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x94]
push 2
mov word [esp + 0x98], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov esi, 0x4949
cmp word [edi + 0x54860], si
jne 0x10142ebe
movzx ecx, byte [esp + 0x95]
movzx eax, byte [esp + 0x94]
jmp 0x10142ece
movzx ecx, byte [esp + 0x94]
movzx eax, byte [esp + 0x95]
shl cx, 8
or cx, ax
movzx eax, cx
mov ecx, 0xffe0
cmp ax, cx
je 0x10142f2f
mov ecx, 0x7fff
cmp ax, cx
je 0x10142f2f
movzx eax, ax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x102c6010]
cvtpd2ps xmm1, xmm0
comiss xmm1, dword [0x102c6178]
ja 0x10142f2f
movss xmm0, dword [0x102c61a8]
comiss xmm0, xmm1
ja 0x10142f2f
movsd xmm0, qword [0x103efac0]
cvtps2pd xmm1, xmm1
call fcn.1027dc40
cvtsd2ss xmm0, xmm0
jmp 0x10142f32
xorps xmm0, xmm0
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x90]
push 2
movss dword [edi + 0x2a8e0], xmm0
movss dword [edi + 0x544], xmm0
mov word [esp + 0x94], 0xffff
mov eax, dword [ecx]
push 1
push edx
call dword [eax + 8]
cmp word [edi + 0x54860], si
jne 0x10142f7e
movzx ecx, byte [esp + 0x91]
movzx eax, byte [esp + 0x90]
jmp 0x10142f8e
movzx ecx, byte [esp + 0x90]
movzx eax, byte [esp + 0x91]
shl cx, 8
or cx, ax
movzx eax, cx
cwde
neg eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x103ef950]
cvtpd2ps xmm1, xmm0
comiss xmm1, dword [0x102c6178]
ja 0x10142fdb
movss xmm0, dword [0x102c61a8]
comiss xmm0, xmm1
ja 0x10142fdb
movsd xmm0, qword [0x103efac0]
cvtps2pd xmm1, xmm1
call fcn.1027dc40
cvtsd2ss xmm0, xmm0
jmp 0x10142fde
xorps xmm0, xmm0
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x40]
push 2
movss dword [edi + 0x2a8dc], xmm0
mov word [esp + 0x44], 0xffff
mov eax, dword [ecx]
push 1
push edx
call dword [eax + 8]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x8c]
push 2
mov word [esp + 0x90], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
cmp word [edi + 0x54860], si
jne 0x1014303d
movzx ecx, byte [esp + 0x8d]
movzx eax, byte [esp + 0x8c]
jmp 0x1014304d
movzx ecx, byte [esp + 0x8c]
movzx eax, byte [esp + 0x8d]
shl cx, 8
xor esi, esi
or cx, ax
movzx ecx, cx
movzx eax, cx
cmp cx, 0x11
mov ecx, dword [edi + 0x54800]
cmovbe esi, eax
push 1
push 0
mov eax, dword [ecx]
push 0x20
mov dword [esp + 0x54], esi
call dword [eax + 0xc]
movss xmm0, dword [edi + 0x2a8dc]
cvtps2pd xmm0, xmm0
comisd xmm0, xmmword [0x102c6148]
jbe 0x10143b33
mov ecx, edi
call fcn.10131be0
movzx eax, ax
mov dword [esp + 0x48], esi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, qword [0x102aa970]
cvtpd2ps xmm0, xmm0
movss dword [edi + 0x2a8dc], xmm0
jmp 0x10143b33
cmp esi, 0x102c
jne 0x10143262
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x88]
push 2
mov word [esp + 0x8c], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x1014310d
movzx ecx, byte [esp + 0x89]
movzx eax, byte [esp + 0x88]
jmp 0x1014311d
movzx ecx, byte [esp + 0x88]
movzx eax, byte [esp + 0x89]
shl cx, 8
mov esi, 0x200
or cx, ax
movzx edx, cx
mov ecx, dword [edi + 0x54800]
push 1
push 0
mov eax, dword [ecx]
cmp dx, si
jbe 0x101431ce
push 0x76
call dword [eax + 0xc]
xor esi, esi
nop dword [eax + eax]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x84]
push 2
mov word [esp + 0x88], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x10143191
movzx ecx, byte [esp + 0x85]
movzx eax, byte [esp + 0x84]
jmp 0x101431a1
movzx ecx, byte [esp + 0x84]
movzx eax, byte [esp + 0x85]
shl cx, 8
or cx, ax
movzx eax, cx
movzx eax, ax
movd xmm0, eax
mov eax, esi
cvtdq2ps xmm0, xmm0
xor eax, 2
inc esi
movss dword [edi + eax*4 + 0x24ff4], xmm0
cmp esi, 4
jl 0x10143150
jmp 0x10143b33
push 0x62
call dword [eax + 0xc]
xor esi, esi
nop word [eax + eax]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x80]
push 2
mov word [esp + 0x84], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x10143221
movzx ecx, byte [esp + 0x81]
movzx eax, byte [esp + 0x80]
jmp 0x10143231
movzx ecx, byte [esp + 0x80]
movzx eax, byte [esp + 0x81]
shl cx, 8
or cx, ax
movzx eax, cx
movzx eax, ax
movd xmm0, eax
mov eax, esi
xor eax, 2
sar eax, 1
cvtdq2ps xmm0, xmm0
xor eax, esi
inc esi
movss dword [edi + eax*4 + 0x24ff4], xmm0
cmp esi, 4
jl 0x101431e0
jmp 0x10143b33
cmp esi, 0x10a9
jne 0x101433d1
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 2
mov esi, dword [ecx]
mov dword [esp + 0x38], eax
mov dword [esp + 0x58], edx
call dword [esi + 0xc]
xor esi, esi
nop word [eax + eax]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x7c]
push 2
mov word [esp + 0x80], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x101432d8
movzx ecx, byte [esp + 0x7d]
movzx eax, byte [esp + 0x7c]
jmp 0x101432e2
movzx ecx, byte [esp + 0x7c]
movzx eax, byte [esp + 0x7d]
shl cx, 8
or cx, ax
movzx eax, cx
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x298b0], ecx
cmp esi, 4
jl 0x101432a0
push 0
push 0
mov ecx, edi
call fcn.1012aa80
mov ecx, dword [edi + 0x54800]
push 0
push dword [esp + 0x50]
mov eax, dword [ecx]
push dword [esp + 0x34]
call dword [eax + 0xc]
cmp dword [esp + 0xa0], 0x42
jle 0x10143347
mov ecx, dword [esp + 0x48]
xor eax, eax
test ecx, ecx
cmovg eax, ecx
movsx eax, byte [eax + str.0134567028]
sub eax, 0x30
mov dword [esp + 0x48], eax
jmp 0x1014334b
mov eax, dword [esp + 0x48]
mov ecx, dword [edi + 0x54800]
lea eax, [eax*8 + 2]
push 1
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x78]
push 2
mov word [esp + 0x7c], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x10143399
movzx ecx, byte [esp + 0x79]
movzx eax, byte [esp + 0x78]
jmp 0x101433a3
movzx ecx, byte [esp + 0x78]
movzx eax, byte [esp + 0x79]
shl cx, 8
or cx, ax
movzx eax, cx
movzx eax, ax
movd xmm0, eax
mov eax, esi
shr eax, 1
cvtdq2ps xmm0, xmm0
xor eax, esi
inc esi
movss dword [edi + eax*4 + 0x24ff4], xmm0
cmp esi, 4
jl 0x10143364
jmp 0x10143b33
cmp esi, 0x102d
jne 0x1014340f
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, dword [esp + 0x1c]
mov edi, eax
mov esi, edx
call fcn.1012a3a0
mov eax, dword [esp + 0x1c]
push 0
push esi
push edi
mov ecx, dword [eax + 0x54800]
mov edx, dword [ecx]
call dword [edx + 0xc]
mov edi, dword [esp + 0x1c]
jmp 0x10143b33
cmp esi, 0x580b
jne 0x1014348d
mov ecx, 0x102b4a84
lea eax, [edi + 0x104]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10143442
test dl, dl
je 0x1014343e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10143442
add eax, 2
add ecx, 2
test dl, dl
jne 0x10143422
xor eax, eax
jmp 0x10143447
sbb eax, eax
or eax, 1
lea edx, [edi + 0xd74]
test eax, eax
je 0x1014346b
push dword [esp + 0xa0]
push 0x103e7748
push edx
call fcn.10007060
add esp, 0xc
jmp 0x10143b33
mov ecx, dword [esp + 0xa0]
movzx eax, cx
push eax
sar ecx, 0x10
push ecx
push str._0x__05d
push edx
call fcn.10007060
add esp, 0x10
jmp 0x10143b33
cmp esi, 0x32
jne 0x101436bd
cmp dword [esp + 0xa0], 0x300
jne 0x1014356a
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 0x48
mov eax, dword [ecx]
call dword [eax + 0xc]
xor esi, esi
nop word [eax + eax]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x74]
push 2
mov word [esp + 0x78], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x101434f5
movzx ecx, byte [esp + 0x75]
movzx eax, byte [esp + 0x74]
jmp 0x101434ff
movzx ecx, byte [esp + 0x74]
movzx eax, byte [esp + 0x75]
shl cx, 8
or cx, ax
movzx eax, cx
mov ecx, 1
cmp cx, ax
jbe 0x10143517
mov eax, ecx
jmp 0x1014351a
movzx eax, ax
movsd xmm1, qword [0x102c6108]
movd xmm0, eax
mov eax, esi
cvtdq2pd xmm0, xmm0
shr eax, 1
xor eax, esi
inc esi
divsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [edi + eax*4 + 0x24ff4], xmm0
cmp esi, 4
jl 0x101434c0
cmp dword [esp + 0x48], 0
mov esi, 0x4949
jne 0x10143b38
mov dword [edi + 0x24ff4], 0xbf800000
jmp 0x10143b38
movss xmm0, dword [edi + 0x24ff4]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10143b33
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x70]
push 2
mov word [esp + 0x74], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x101435b7
movzx ecx, byte [esp + 0x71]
movzx eax, byte [esp + 0x70]
jmp 0x101435c1
movzx ecx, byte [esp + 0x70]
movzx eax, byte [esp + 0x71]
shl cx, 8
or cx, ax
movzx eax, cx
cmp ax, word [esp + 0x18]
jne 0x1014360d
lea eax, [edi + 0x104]
push str.Pro1
push eax
call fcn.1026bfc0
mov edx, dword [esp + 0x50]
add esp, 8
test eax, eax
mov ecx, str.012346000000000000
mov eax, str.01345:000000006008
cmove ecx, eax
xor eax, eax
test edx, edx
cmovg eax, edx
movsx eax, byte [ecx + eax]
lea eax, [eax*8 - 0x122]
jmp 0x1014362e
mov ecx, dword [esp + 0x48]
xor eax, eax
mov dword [esp + 0x28], eax
test ecx, ecx
mov dword [esp + 0x18], eax
cmovg eax, ecx
movsx eax, byte [eax + str.023457000000006000]
lea eax, [eax*8 - 0x132]
mov ecx, dword [edi + 0x54800]
push 1
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x6c]
push 2
mov word [esp + 0x70], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x10143675
movzx ecx, byte [esp + 0x6d]
movzx eax, byte [esp + 0x6c]
jmp 0x1014367f
movzx ecx, byte [esp + 0x6c]
movzx eax, byte [esp + 0x6d]
shl cx, 8
or cx, ax
mov eax, esi
and eax, 1
movzx ecx, cx
mov ax, word [esp + eax*2 + 0x28]
xor ax, cx
movzx eax, ax
movd xmm0, eax
mov eax, esi
xor eax, 2
shr eax, 1
cvtdq2ps xmm0, xmm0
xor eax, esi
inc esi
movss dword [edi + eax*4 + 0x24ff4], xmm0
cmp esi, 4
jl 0x10143640
jmp 0x1014354b
cmp esi, 0x1030
jne 0x10143948
mov esi, dword [esp + 0x48]
test esi, esi
js 0x10143b33
mov eax, 0x18040
mov ecx, esi
sar eax, cl
test al, 1
je 0x10143b33
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x3c]
push 2
mov word [esp + 0x40], 0xffff
xor esi, esi
push 1
mov eax, dword [ecx]
push edx
mov dword [esp + 0x30], esi
call dword [eax + 8]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x58]
push 4
mov dword [esp + 0x5c], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x10143751
movzx ecx, byte [esp + 0x5b]
movzx eax, byte [esp + 0x5a]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x59]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x58]
jmp 0x1014376f
movzx ecx, byte [esp + 0x58]
movzx eax, byte [esp + 0x59]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x5a]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x5b]
shl ecx, 8
or ecx, eax
cmp ecx, 0x80008
jne 0x10143b33
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x54]
push 4
mov dword [esp + 0x58], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x101437ca
movzx ecx, byte [esp + 0x57]
movzx eax, byte [esp + 0x56]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x55]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x54]
jmp 0x101437e8
movzx ecx, byte [esp + 0x54]
movzx eax, byte [esp + 0x55]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x56]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x57]
shl ecx, 8
or ecx, eax
test ecx, ecx
je 0x10143b33
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x68]
push 2
mov word [esp + 0x6c], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x1014382a
movzx ecx, byte [esp + 0x69]
movzx eax, byte [esp + 0x68]
jmp 0x10143834
movzx ecx, byte [esp + 0x68]
movzx eax, byte [esp + 0x69]
shl cx, 8
or cx, ax
movzx eax, cx
movzx edx, ax
mov dword [esp + 0x10], edx
cmp edx, 0xa
je 0x10143853
cmp edx, 0xc
jne 0x10143b33
mov eax, 0xffff
mov dword [esp + 0xa0], esi
mov ecx, edx
mov dword [esp + 0x4c], 8
shl ax, cl
lea ecx, [edi + 0x24f74]
not ax
mov dword [esp + 0x30], eax
nop dword [eax]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x2c], 8
nop dword [eax]
cmp esi, edx
jge 0x10143911
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x64]
push 2
mov word [esp + 0x68], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov eax, 0x4949
cmp word [edi + 0x54860], ax
jne 0x101438c9
movzx ecx, byte [esp + 0x65]
movzx eax, byte [esp + 0x64]
jmp 0x101438d3
movzx ecx, byte [esp + 0x64]
movzx eax, byte [esp + 0x65]
shl cx, 8
or cx, ax
mov eax, dword [esp + 0xa0]
inc dword [esp + 0xa0]
and eax, 1
movzx edx, cx
movzx ecx, word [eax*2 + 0x102b4a80]
movzx eax, dx
mov edx, dword [esp + 0x10]
xor ecx, eax
mov eax, dword [esp + 0x24]
shl eax, 0x10
or eax, ecx
add esi, 0x10
mov dword [esp + 0x24], eax
jmp 0x10143915
mov eax, dword [esp + 0x24]
sub esi, edx
mov ecx, esi
shr eax, cl
mov ecx, dword [esp + 0x14]
and eax, dword [esp + 0x30]
mov word [ecx], ax
add ecx, 2
sub dword [esp + 0x2c], 1
mov dword [esp + 0x14], ecx
jne 0x10143890
sub dword [esp + 0x4c], 1
jne 0x10143880
jmp 0x10143b33
cmp esi, 0x1031
jne 0x10143a1a
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x38]
push 2
mov word [esp + 0x3c], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x60]
push 2
mov word [esp + 0x64], 0xffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov esi, 0x4949
cmp word [edi + 0x54860], si
jne 0x101439a4
movzx ecx, byte [esp + 0x61]
movzx eax, byte [esp + 0x60]
jmp 0x101439ae
movzx ecx, byte [esp + 0x60]
movzx eax, byte [esp + 0x61]
shl cx, 8
lea edx, [esp + 0x5c]
or cx, ax
mov word [esp + 0x5c], 0xffff
movzx eax, cx
mov ecx, dword [edi + 0x54800]
push 2
mov word [edi + 0x12], ax
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
cmp word [edi + 0x54860], si
jne 0x101439fd
movzx ecx, byte [esp + 0x5d]
movzx eax, byte [esp + 0x5c]
shl cx, 8
or cx, ax
movzx eax, cx
mov word [edi + 0x10], ax
jmp 0x10143b38
movzx ecx, byte [esp + 0x5c]
movzx eax, byte [esp + 0x5d]
shl cx, 8
or cx, ax
movzx eax, cx
mov word [edi + 0x10], ax
jmp 0x10143b38
cmp esi, 0x501c
jne 0x10143a40
mov eax, dword [esp + 0xa0]
movzx eax, ax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x2a8d8], xmm0
jmp 0x10143b33
cmp esi, 0x5029
jne 0x10143a9c
mov ecx, dword [esp + 0xa0]
mov eax, ecx
sar eax, 0x10
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, cx
mov word [edi + 0x4fc], ax
movss dword [edi + 0x540], xmm0
cmp ax, 2
jne 0x10143a8f
mulss xmm0, dword [0x102c5fac]
mov eax, 0x20
mov word [edi + 0x6f8], ax
movss dword [edi + 0x540], xmm0
movss dword [edi + 0x2a8e4], xmm0
jmp 0x10143b33
cmp esi, 0x5813
jne 0x10143abf
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x30], eax
movss xmm0, dword [esp + 0x30]
movss dword [edi + 0x250f8], xmm0
jmp 0x10143b33
cmp esi, 0x5814
jne 0x10143ae2
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x30], eax
movss xmm0, dword [esp + 0x30]
movss dword [edi + 0x250fc], xmm0
jmp 0x10143b33
cmp esi, 0x5817
jne 0x10143af9
mov eax, dword [esp + 0xa0]
mov dword [edi + 0x2a8f0], eax
jmp 0x10143b33
cmp esi, 0x5834
jne 0x10143b17
push dword [esp + 0xa0]
mov ecx, edi
call fcn.1015f700
mov dword [edi + 0x5484c], eax
jmp 0x10143b33
cmp esi, 0x580e
jne 0x10143b33
mov eax, dword [esp + 0xa0]
cdq
mov dword [edi + 0x2a8e8], eax
mov dword [edi + 0x2a8ec], edx
mov esi, 0x4949
mov eax, 0x180e
cmp word [esp + 0x20], ax
jne 0x10143bbc
mov ecx, dword [edi + 0x54800]
lea edx, [esp + 0x50]
push 4
mov dword [esp + 0x54], 0xffffffff
push 1
mov eax, dword [ecx]
push edx
call dword [eax + 8]
cmp word [edi + 0x54860], si
jne 0x10143b89
movzx ecx, byte [esp + 0x53]
movzx eax, byte [esp + 0x52]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x51]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x50]
jmp 0x10143ba7
movzx ecx, byte [esp + 0x50]
movzx eax, byte [esp + 0x51]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x52]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x53]
shl ecx, 8
or ecx, eax
mov dword [edi + 0x2a8ec], 0
mov dword [edi + 0x2a8e8], ecx
mov ecx, dword [edi + 0x54800]
mov eax, dword [esp + 0xc]
push 0
cdq
mov esi, dword [ecx]
push edx
push eax
call dword [esi + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
jne 0x10142a30
pop edi
pop esi
add esp, 0x9c
ret 0xc