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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b88ec
mov eax, dword fs:[0]
push eax
sub esp, 0x1e8
mov eax, dword [0x10128014]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x14c], esi
cmp dword [esi + 0x58], 0
jge 0x10047ff7
test byte [esi + 4], 2
lea eax, [ebp - 0x194]
mov dword [ebp - 0x18c], 0xffffffff
lea ecx, [esi + 0x40]
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x194], Ordinal_4
push eax
mov dword [ebp - 0x190], 0x1b00d9
je 0x10047feb
mov dword [ebp - 0x190], 0x20002
call fcn.1004b720
mov eax, dword [esi + 0x40]
dec eax
mov dword [esi + 0x58], eax
mov ecx, esi
mov dword [esi + 8], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
call fcn.10047860
xor eax, eax
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1e8], 0
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 4], eax
xor edi, edi
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x150], edi
mov dword [ebp - 0x1b8], edi
mov byte [ebp - 4], 1
lea edx, [eax + 8]
mov ecx, dword [esi + 0x4c]
mov dword [ebp - 0x140], ecx
test ecx, ecx
jle 0x100480db
cmp ecx, edx
mov eax, ecx
cmovl eax, edx
mov dword [ebp - 0x118], eax
test eax, eax
jle 0x100480db
mov ecx, dword [0x1012d1c0]
test ecx, ecx
je 0x100480a3
inc dword [ecx + 0x374]
push dword [0x1012d1bc]
imul eax, eax, 0xc4
push eax
call fcn.1002c940
mov ecx, dword [ebp - 0x118]
add esp, 8
mov dword [ebp - 0x1e4], ecx
mov edx, 8
mov ecx, dword [ebp - 0x140]
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1e8], ecx
mov ecx, dword [esi + 0x34]
mov dword [ebp - 0x130], ecx
test ecx, ecx
jle 0x10048145
cmp ecx, 8
mov eax, ecx
cmovl eax, edx
mov dword [ebp - 0x118], eax
test eax, eax
jle 0x10048145
mov ecx, dword [0x1012d1c0]
test ecx, ecx
je 0x10048110
inc dword [ecx + 0x374]
push dword [0x1012d1bc]
lea eax, [eax + eax*2]
shl eax, 3
push eax
call fcn.1002c940
mov ecx, dword [ebp - 0x130]
mov edi, eax
mov eax, dword [ebp - 0x118]
add esp, 8
mov dword [ebp - 0x150], edi
mov dword [ebp - 0x1b8], edi
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1c0], ecx
imul ecx, dword [ebp - 0x140], 0xc4
push ecx
push 0
push dword [ebp - 0x144]
call fcn.10062fd0
mov eax, dword [ebp - 0x130]
lea eax, [eax + eax*2]
shl eax, 3
push eax
push 0
push edi
call fcn.10062fd0
add esp, 0x18
mov dword [ebp - 0x120], 0
cmp dword [esi + 0x4c], 0
jle 0x100482e3
mov edx, dword [ebp - 0x144]
xor eax, eax
add edx, 0xa4
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x114], edx
nop dword [eax]
mov ecx, dword [esi + 0x54]
mov dword [edx - 4], 0xffffffff
add ecx, eax
xor edx, edx
mov dword [ebp - 0x13c], ecx
cmp dword [esi + 0x34], edx
jle 0x100488da
or eax, 0xffffffff
cmp eax, 0xffffffff
jne 0x10048205
mov eax, dword [ebp - 0x13c]
mov ecx, dword [esi + 0x3c]
mov eax, dword [eax + 0x74]
cmp eax, dword [ecx + edx*4]
mov eax, dword [ebp - 0x114]
jne 0x100481f3
mov dword [eax - 4], edx
mov eax, edx
jmp 0x100481f6
mov eax, dword [eax - 4]
inc edx
cmp edx, dword [esi + 0x34]
jl 0x100481d0
cmp eax, 0xffffffff
je 0x100488da
mov eax, dword [ebp - 0x13c]
mov esi, dword [eax]
mov ecx, esi
mov edx, dword [eax + 0xc]
call fcn.10044a60
mov ecx, dword [ebp - 0x114]
mov edx, esi
add ecx, 0xffffff5c
push eax
mov dword [ebp - 0x118], ecx
call fcn.1003ebc0
add esp, 4
test eax, eax
je 0x100488da
mov eax, dword [ebp - 0x118]
mov esi, 0x100e72b0
mov edx, dword [ebp - 0x114]
mov eax, dword [eax + 0xa0]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x11c], ecx
mov eax, dword [eax + 0x30]
test eax, eax
cmovne esi, eax
mov dword [edx - 8], esi
cmp word [esi], 0
je 0x10048294
movzx eax, word [esi + 2]
test ax, ax
je 0x1004828e
mov ecx, eax
cmp dword [edx], ecx
cmovge ecx, dword [edx]
add esi, 4
mov dword [edx], ecx
cmp word [esi], 0
jne 0x10048273
mov ecx, dword [ebp - 0x11c]
mov esi, dword [ebp - 0x11c]
inc dword [edi + ecx*8]
mov ecx, dword [edx]
mov eax, dword [ebp - 0x134]
cmp dword [edi + esi*8 + 4], ecx
cmovge ecx, dword [edi + esi*8 + 4]
add edx, 0xc4
mov dword [edi + esi*8 + 4], ecx
add eax, 0x78
mov ecx, dword [ebp - 0x120]
mov esi, dword [ebp - 0x14c]
inc ecx
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x134], eax
cmp ecx, dword [esi + 0x4c]
jl 0x100481b0
mov eax, dword [ebp - 0x140]
xor esi, esi
mov dword [ebp - 0x124], esi
test eax, eax
jle 0x10048622
mov edx, dword [ebp - 0x144]
add edx, 0xa8
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x114], edx
mov eax, dword [edx - 8]
lea esi, [edx + 4]
mov ecx, esi
lea edi, [eax + eax*2]
mov eax, dword [edx - 4]
add eax, 0x20
mov dword [ebp - 0x13c], edi
sar eax, 5
push eax
call fcn.1003d720
mov eax, dword [esi]
mov ecx, dword [ebp - 0x114]
shl eax, 2
push eax
push 0
push dword [ecx + 0xc]
call fcn.10062fd0
mov eax, dword [ebp - 0x150]
add esp, 0xc
cmp dword [eax + edi*8 + 0xc], 0
lea esi, [eax + edi*8]
jne 0x10048381
mov eax, dword [eax + edi*8 + 4]
lea ecx, [esi + 0xc]
add eax, 0x20
sar eax, 5
push eax
call fcn.1003d720
mov eax, dword [esi + 0xc]
shl eax, 2
push eax
push 0
push dword [esi + 0x14]
call fcn.10062fd0
add esp, 0xc
mov edx, dword [ebp - 0x114]
mov eax, dword [edx - 0xc]
mov dword [ebp - 0x154], eax
movzx ecx, word [eax]
test cx, cx
je 0x10048474
nop dword [eax]
movzx eax, word [eax + 2]
test ax, ax
je 0x10048474
movzx edi, cx
cmp edi, eax
ja 0x10048459
nop dword [eax + eax]
mov eax, dword [ebp - 0x13c]
mov ecx, edi
and ecx, 0x1f
mov edx, 1
shl edx, cl
mov esi, edi
mov ecx, dword [ebp - 0x150]
sar esi, 5
mov dword [ebp - 0x118], edx
mov eax, dword [ecx + eax*8 + 0x14]
test dword [eax + esi*4], edx
jne 0x10048440
mov ecx, dword [ebp - 0x114]
mov edx, edi
add ecx, 0xffffff58
call fcn.1003f090
mov edx, dword [ebp - 0x114]
test eax, eax
je 0x10048446
inc dword [edx]
mov eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x150]
inc dword [ecx + eax*8 + 8]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x118]
mov edx, dword [ebp - 0x150]
or dword [eax + esi*4], ecx
mov eax, dword [ebp - 0x13c]
mov eax, dword [edx + eax*8 + 0x14]
or dword [eax + esi*4], ecx
inc dword [ebp - 0x124]
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x154]
inc edi
movzx eax, word [eax + 2]
cmp edi, eax
jbe 0x100483c0
mov eax, dword [ebp - 0x154]
add eax, 4
mov dword [ebp - 0x154], eax
movzx ecx, word [eax]
test cx, cx
jne 0x100483a0
add edx, 0xc4
sub dword [ebp - 0x11c], 1
mov dword [ebp - 0x114], edx
jne 0x10048311
mov ecx, dword [ebp - 0x144]
mov eax, dword [ebp - 0x140]
add ecx, 0xc0
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x134], eax
nop dword [eax + eax]
mov esi, dword [ecx - 0x18]
cmp esi, dword [ecx - 4]
jle 0x10048531
mov eax, dword [0x1012d1c0]
test eax, eax
je 0x100484c7
inc dword [eax + 0x374]
push dword [0x1012d1bc]
lea eax, [esi*4]
push eax
call fcn.1002c940
mov ecx, dword [ebp - 0x114]
add esp, 8
mov edi, eax
mov edx, dword [ecx]
test edx, edx
je 0x1004852c
mov ecx, dword [ecx - 8]
shl ecx, 2
push ecx
push edx
push edi
call fcn.10062a50
mov eax, dword [ebp - 0x114]
add esp, 0xc
mov ecx, dword [eax]
test ecx, ecx
je 0x10048517
mov eax, dword [0x1012d1c0]
test eax, eax
je 0x10048517
dec dword [eax + 0x374]
push dword [0x1012d1bc]
push ecx
call fcn.1002c950
mov ecx, dword [ebp - 0x114]
add esp, 8
mov dword [ecx], edi
mov dword [ecx - 4], esi
mov esi, dword [ecx - 0xc]
mov eax, dword [ecx - 0x14]
mov dword [ebp - 0x11c], esi
lea eax, [esi + eax*4]
mov dword [ebp - 0x148], eax
cmp esi, eax
jae 0x100485bd
xor edx, edx
mov dword [ebp - 0x120], edx
mov eax, dword [esi]
mov dword [ebp - 0x128], eax
test eax, eax
je 0x100485a3
xor edi, edi
mov esi, 1
test esi, eax
je 0x10048595
and edx, 0xffffffe0
lea eax, [ebp - 0x118]
add edx, edi
add ecx, 0xfffffff8
push eax
mov dword [ebp - 0x118], edx
call fcn.1003d800
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x128]
mov edx, dword [ebp - 0x120]
inc edi
rol esi, 1
cmp edi, 0x20
jl 0x10048565
mov esi, dword [ebp - 0x11c]
add esi, 4
add edx, 0x20
mov dword [ebp - 0x11c], esi
mov dword [ebp - 0x120], edx
cmp esi, dword [ebp - 0x148]
jb 0x10048552
mov edx, dword [ecx - 0xc]
test edx, edx
je 0x100485fd
mov eax, dword [0x1012d1c0]
mov dword [ecx - 0x10], 0
mov dword [ecx - 0x14], 0
test eax, eax
je 0x100485e1
dec dword [eax + 0x374]
push dword [0x1012d1bc]
push edx
call fcn.1002c950
mov ecx, dword [ebp - 0x114]
add esp, 8
mov dword [ecx - 0xc], 0
add ecx, 0xc4
sub dword [ebp - 0x134], 1
mov dword [ebp - 0x114], ecx
jne 0x100484b0
mov edi, dword [ebp - 0x150]
mov esi, dword [ebp - 0x124]
cmp dword [ebp - 0x130], 0
jle 0x10048692
mov esi, dword [ebp - 0x130]
lea eax, [edi + 0x14]
mov dword [ebp - 0x11c], eax
nop word [eax + eax]
mov ecx, dword [eax]
test ecx, ecx
je 0x1004867e
mov dword [eax - 4], 0
mov dword [eax - 8], 0
mov eax, dword [0x1012d1c0]
test eax, eax
je 0x10048663
dec dword [eax + 0x374]
push dword [0x1012d1bc]
push ecx
call fcn.1002c950
mov eax, dword [ebp - 0x11c]
add esp, 8
mov dword [eax], 0
add eax, 0x18
mov dword [ebp - 0x11c], eax
sub esi, 1
jne 0x10048640
mov esi, dword [ebp - 0x124]
test edi, edi
je 0x100486d6
mov eax, dword [0x1012d1c0]
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1c0], 0
test eax, eax
je 0x100486b9
dec dword [eax + 0x374]
push dword [0x1012d1bc]
push edi
call fcn.1002c950
add esp, 8
xor eax, eax
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1cc], 0
mov dword [ebp - 0x1c4], 0
xor eax, eax
mov dword [ebp - 0x1f0], 0
mov dword [ebp - 0x1f4], 0
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x1ec], eax
push esi
lea ecx, [ebp - 0x1cc]
mov byte [ebp - 4], 3
call fcn.1004b5a0
test esi, esi
jle 0x10048777
cmp esi, 8
mov edi, esi
mov eax, 8
cmovl edi, eax
test edi, edi
jle 0x10048777
mov eax, dword [0x1012d1c0]
test eax, eax
je 0x1004874a
inc dword [eax + 0x374]
push dword [0x1012d1bc]
lea eax, [edi*8]
sub eax, edi
shl eax, 2
push eax
call fcn.1002c940
add esp, 8
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0x1f0], edi
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x1c4]
shl ecx, 4
push ecx
push 0
push eax
mov dword [ebp - 0x1f4], esi
mov dword [ebp - 0x13c], eax
call fcn.10062fd0
lea eax, [esi*8]
sub eax, esi
shl eax, 2
push eax
push 0
push dword [ebp - 0x154]
call fcn.10062fd0
mov edx, dword [ebp - 0x140]
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x134], eax
add esp, 0x18
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x130], ecx
test edx, edx
jle 0x10048c4e
mov esi, dword [ebp - 0x144]
xor edi, edi
add esi, 0x98
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x120], esi
mov dword [ebp - 0x118], edx
nop dword [eax]
mov edx, dword [esi + 0x10]
test edx, edx
je 0x10048c2c
mov eax, dword [ebp - 0x114]
add dword [ebp - 0x114], edx
add dword [ebp - 0x130], edx
shl eax, 4
add eax, dword [ebp - 0x13c]
mov dword [esi - 4], eax
lea eax, [ecx*8]
sub eax, ecx
mov ecx, dword [ebp - 0x154]
lea ecx, [ecx + eax*4]
mov eax, dword [ebp - 0x14c]
mov dword [esi], ecx
mov edx, dword [eax + 0x54]
mov eax, dword [edx + edi + 0x10]
add edx, edi
mov dword [esi - 0x1c], eax
mov eax, dword [esi + 0x28]
mov dword [esi - 0x14], eax
mov eax, dword [esi + 0x20]
mov dword [esi - 0x18], 0
mov dword [esi - 0x10], eax
mov dword [esi - 0xc], ecx
mov al, byte [edx + 0x14]
mov byte [esi - 8], al
mov al, byte [edx + 0x18]
mov byte [esi - 7], al
movss xmm1, dword [edx + 0x10]
comiss xmm1, dword [0x100e8db0]
mov dword [ebp - 0x158], edx
jbe 0x100488e6
mov edi, dword [esi - 0x7c]
mov eax, 0x100
mov esi, dword [esi - 0x94]
cwde
movzx ecx, byte [edi + esi + 6]
movzx edx, byte [edi + esi + 7]
movsx ecx, cx
imul ecx, eax
mov eax, 0x100
cwde
add dx, cx
movzx ecx, byte [edi + esi + 4]
movsx ecx, cx
imul ecx, eax
movzx eax, byte [edi + esi + 5]
mov esi, dword [ebp - 0x120]
mov edi, dword [ebp - 0x11c]
movsx edx, dx
add cx, ax
movsx eax, cx
sub eax, edx
movd xmm0, eax
jmp 0x1004890c
mov byte [ebp - 0x129], 0
jmp 0x10049890
mov ecx, dword [esi - 0x84]
mov eax, dword [esi - 0x94]
xorps xmm1, xmmword [0x100e9380]
movzx edx, byte [ecx + eax + 0x13]
movzx eax, byte [ecx + eax + 0x12]
shl eax, 8
add edx, eax
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mov eax, dword [ebp - 0x14c]
xor ecx, ecx
mov dword [ebp - 0x128], ecx
mov eax, dword [eax + 0x10]
divss xmm1, xmm0
mov dword [ebp - 0x138], eax
movss dword [ebp - 0x168], xmm1
cmp dword [esi + 0x20], ecx
jle 0x10048c20
xor edi, edi
mov dword [ebp - 0x124], edi
mov edx, dword [esi + 0x28]
mov edx, dword [edx + ecx*4]
lea ecx, [esi - 0x98]
call fcn.1003f090
cmp dword [esi - 0x5c], 0
mov edx, eax
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1ac], 0
mov ecx, dword [eax + 0x14]
movzx edi, cx
mov dword [ebp - 0x15c], edi
mov edi, dword [ebp - 0x124]
movd xmm0, ecx
lea ecx, [esi - 0x98]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x164], xmm0
movd xmm0, dword [eax + 0x18]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x160], xmm0
je 0x10048a00
lea eax, [ebp - 0x1b0]
push eax
lea eax, [ebp - 0x1b4]
push eax
lea eax, [ebp - 0x1ac]
push eax
lea eax, [ebp - 0x1a8]
push eax
call fcn.10041490
mov eax, dword [ebp - 0x158]
add esp, 0x10
mov ecx, dword [ebp - 0x1ac]
mov dword [ebp - 0x16c], ecx
movzx eax, word [eax + 0x14]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x1a8]
jmp 0x10048adf
call fcn.1003f3f0
mov edi, eax
test edi, edi
jns 0x10048a30
mov eax, dword [ebp - 0x15c]
xor ecx, ecx
mov edi, dword [ebp - 0x124]
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0x160], ecx
jmp 0x10048b95
mov esi, dword [esi - 0x94]
mov eax, 0x100
cwde
movzx ecx, byte [edi + esi + 2]
movzx edx, byte [edi + esi + 3]
movsx ecx, cx
imul ecx, eax
add dx, cx
movzx ecx, byte [edi + esi + 4]
movsx eax, dx
movzx edx, byte [edi + esi + 5]
mov dword [ebp - 0x148], eax
mov eax, 0x100
cwde
movsx ecx, cx
imul ecx, eax
add dx, cx
movzx ecx, byte [edi + esi + 6]
movsx eax, dx
movzx edx, byte [edi + esi + 7]
mov dword [ebp - 0x16c], eax
mov eax, 0x100
cwde
movsx ecx, cx
imul ecx, eax
add dx, cx
movzx ecx, byte [edi + esi + 8]
movsx eax, dx
movzx edx, byte [edi + esi + 9]
mov esi, dword [ebp - 0x120]
mov edi, dword [ebp - 0x124]
mov dword [ebp - 0x1b4], eax
mov eax, 0x100
cwde
movsx ecx, cx
imul ecx, eax
add dx, cx
movsx eax, dx
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x15c]
movzx eax, ax
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x148]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, dword [ebp - 0x164]
addss xmm0, dword [0x100e8db0]
call fcn.1003dd50
xorps xmm1, xmm1
cvtsi2ss xmm1, dword [ebp - 0x1b0]
cvttss2si eax, xmm0
mulss xmm1, dword [ebp - 0x160]
xorps xmm0, xmm0
mov dword [ebp - 0x124], eax
subss xmm0, xmm1
call fcn.1003dd50
cvttss2si eax, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [ebp - 0x1b4]
mov dword [ebp - 0x148], eax
mulss xmm0, dword [ebp - 0x164]
addss xmm0, dword [0x100e8db0]
call fcn.1003dd10
xorps xmm1, xmm1
cvtsi2ss xmm1, dword [ebp - 0x16c]
cvttss2si eax, xmm0
mulss xmm1, dword [ebp - 0x160]
xorps xmm0, xmm0
mov dword [ebp - 0x164], eax
subss xmm0, xmm1
call fcn.1003dd10
movss xmm1, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x124]
cvttss2si eax, xmm0
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x138]
movzx eax, ax
sub eax, ecx
movzx edx, dx
mov ecx, dword [ebp - 0x164]
add eax, edx
dec ecx
add ecx, eax
mov eax, dword [esi - 4]
mov word [edi + eax + 4], cx
mov eax, dword [ebp - 0x158]
mov cx, word [eax + 0x18]
sub cx, word [ebp - 0x148]
mov eax, dword [esi - 4]
dec cx
add cx, dx
add cx, word [ebp - 0x160]
mov word [edi + eax + 6], cx
mov eax, dword [esi - 4]
movzx ecx, word [edi + eax + 6]
movzx eax, word [edi + eax + 4]
add edi, 0x10
imul ecx, eax
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x124], edi
add eax, ecx
mov ecx, dword [ebp - 0x128]
inc ecx
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x128], ecx
cmp ecx, dword [esi + 0x20]
jl 0x10048943
mov edi, dword [ebp - 0x11c]
jmp 0x10048c26
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x130]
add esi, 0xc4
add edi, 0x78
sub dword [ebp - 0x118], 1
mov dword [ebp - 0x120], esi
mov dword [ebp - 0x11c], edi
jne 0x10048800
movd xmm0, eax
cvtdq2ps xmm0, xmm0
call fcn.10001aa0
mov esi, dword [ebp - 0x14c]
cvttss2si ecx, xmm0
mov eax, dword [esi + 0xc]
mov dword [esi + 0x20], 0
inc ecx
test eax, eax
jg 0x10048cae
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [0x100e8ee8]
jb 0x10048c8a
mov eax, 0x1000
jmp 0x10048cae
comiss xmm0, dword [0x100e8ee4]
jb 0x10048c9a
mov eax, 0x800
jmp 0x10048cae
comiss xmm0, dword [0x100e8ed8]
mov eax, 0x200
mov ecx, 0x400
cmovae eax, ecx
push 0x2c
mov dword [esi + 0x1c], eax
lea eax, [ebp - 0x1a4]
push 0
push eax
call fcn.10062fd0
mov eax, dword [esi + 0x10]
add esp, 0xc
mov dword [ebp - 0x128], eax
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x118], eax
mov eax, dword [0x1012d1c0]
test eax, eax
je 0x10048ce5
inc dword [eax + 0x374]
push dword [0x1012d1bc]
push 0x30
call fcn.1002c940
mov ecx, dword [0x1012d1c0]
mov edi, eax
mov eax, dword [ebp - 0x118]
add esp, 8
sub eax, dword [ebp - 0x128]
mov dword [ebp - 0x114], edi
mov dword [ebp - 0x138], eax
test ecx, ecx
je 0x10048d1f
inc dword [ecx + 0x374]
push dword [0x1012d1bc]
shl eax, 3
push eax
call fcn.1002c940
add esp, 8
test edi, edi
je 0x10048db9
test eax, eax
je 0x10048da1
mov edx, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x128]
mov dword [ebp - 0x19c], edx
mov dword [ebp - 0x194], edx
mov edx, dword [ebp - 0x138]
push edx
push eax
mov dword [ebp - 0x17c], eax
mov eax, 0x8000
sub eax, ecx
mov dword [ebp - 0x190], ecx
push eax
mov ecx, edi
mov dword [ebp - 0x1a0], edi
mov dword [ebp - 0x188], 1
mov dword [ebp - 0x184], 1
mov dword [ebp - 0x18c], 0
call fcn.1003dd90
add esp, 0xc
jmp 0x10048de8
mov eax, dword [0x1012d1c0]
test eax, eax
je 0x10048db0
dec dword [eax + 0x374]
push dword [0x1012d1bc]
push edi
jmp 0x10048dd4
test eax, eax
je 0x10048ddc
mov ecx, dword [0x1012d1c0]
test ecx, ecx
je 0x10048dcd
dec dword [ecx + 0x374]
push dword [0x1012d1bc]
push eax
call fcn.1002c950
add esp, 8
mov edi, dword [ebp - 0x1a0]
mov dword [ebp - 0x114], edi
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x170], 0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x178]
push dword [esi + 0x40]
call fcn.1004b5a0
mov eax, dword [ebp - 0x178]
mov edx, dword [ebp - 0x170]
mov dword [ebp - 0x118], eax
shl eax, 4
push eax
push 0
push edx
call fcn.10062fd0
add esp, 0xc
cmp dword [esi + 0x40], 0
jle 0x10048e7a
mov edx, dword [ebp - 0x170]
xor ecx, ecx
add edx, 6
xor edi, edi
nop dword [eax]
mov eax, dword [esi + 0x48]
lea ecx, [ecx + 0x1c]
inc edi
lea edx, [edx + 0x10]
movzx eax, word [ecx + eax - 0x18]
mov word [edx - 0x12], ax
mov eax, dword [esi + 0x48]
movzx eax, word [ecx + eax - 0x16]
mov word [edx - 0x10], ax
cmp edi, dword [esi + 0x40]
jl 0x10048e50
mov edi, dword [ebp - 0x114]
push dword [ebp - 0x178]
mov edx, dword [ebp - 0x170]
mov ecx, edi
call fcn.1003e240
mov eax, dword [ebp - 0x178]
add esp, 4
test eax, eax
jle 0x10048eec
mov edx, dword [ebp - 0x170]
xor edi, edi
add edx, 0xa
cmp dword [edx + 2], 0
je 0x10048edb
mov eax, dword [esi + 0x48]
movzx ecx, word [edx - 2]
mov word [edi + eax + 8], cx
mov eax, dword [esi + 0x48]
movzx ecx, word [edx]
mov word [edi + eax + 0xa], cx
movzx eax, word [edx]
movzx ecx, word [edx - 4]
add ecx, eax
mov eax, dword [ebp - 0x118]
cmp dword [esi + 0x20], ecx
cmovge ecx, dword [esi + 0x20]
mov dword [esi + 0x20], ecx
add edi, 0x1c
add edx, 0x10
sub eax, 1
mov dword [ebp - 0x118], eax
jne 0x10048ea5
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x170]
test eax, eax
je 0x10048f19
mov ecx, dword [0x1012d1c0]
test ecx, ecx
je 0x10048f0a
dec dword [ecx + 0x374]
push dword [0x1012d1bc]
push eax
call fcn.1002c950
add esp, 8
mov byte [ebp - 4], 3
mov edi, dword [ebp - 0x140]
test edi, edi
jle 0x10048fb9
mov edi, dword [ebp - 0x144]
mov eax, dword [ebp - 0x140]
add edi, 0xa8
mov dword [ebp - 0x128], eax
mov eax, dword [edi]
test eax, eax
je 0x10048fa4
mov edx, dword [edi - 0x14]
mov ecx, dword [ebp - 0x114]
push eax
call fcn.1003e240
xor ecx, ecx
add esp, 4
mov dword [ebp - 0x118], ecx
cmp dword [edi], ecx
jle 0x10048fa4
xor edx, edx
nop dword [eax]
mov eax, dword [edi - 0x14]
cmp dword [edx + eax + 0xc], 0
je 0x10048f96
movzx ecx, word [edx + eax + 0xa]
movzx eax, word [edx + eax + 6]
add ecx, eax
cmp dword [esi + 0x20], ecx
cmovge ecx, dword [esi + 0x20]
mov dword [esi + 0x20], ecx
mov ecx, dword [ebp - 0x118]
inc ecx
add edx, 0x10
mov dword [ebp - 0x118], ecx
cmp ecx, dword [edi]
jl 0x10048f70
add edi, 0xc4
sub dword [ebp - 0x128], 1
jne 0x10048f43
mov edi, dword [ebp - 0x140]
test byte [esi + 4], 1
mov eax, dword [esi + 0x20]
jne 0x10048fe7
lea ecx, [eax - 1]
mov eax, ecx
sar eax, 1
or ecx, eax
mov eax, ecx
sar eax, 2
or ecx, eax
mov eax, ecx
sar eax, 4
or ecx, eax
mov eax, ecx
sar eax, 8
or ecx, eax
mov eax, ecx
sar eax, 0x10
or eax, ecx
mov ecx, dword [esi + 0x1c]
inc eax
movss xmm1, dword [0x100e8e28]
movaps xmm2, xmm1
mov dword [esi + 0x20], eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
imul ecx, eax
divss xmm2, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [0x1012d1c0]
movss dword [esi + 0x24], xmm2
divss xmm1, xmm0
movss dword [esi + 0x28], xmm1
test eax, eax
je 0x1004902b
inc dword [eax + 0x374]
push dword [0x1012d1bc]
push ecx
call fcn.1002c940
mov ecx, dword [esi + 0x20]
imul ecx, dword [esi + 0x1c]
mov dword [esi + 0x14], eax
push ecx
push 0
push eax
call fcn.10062fd0
mov eax, dword [esi + 0x14]
add esp, 0x14
mov dword [ebp - 0x180], eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x198], eax
test edi, edi
jle 0x10049240
mov ecx, dword [ebp - 0x144]
xor eax, eax
mov dword [ebp - 0x128], eax
mov edx, edi
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x148], edi
mov edi, dword [esi + 0x54]
add edi, eax
cmp dword [ecx + 0xa8], 0
je 0x10049214
push dword [ecx + 0x94]
lea eax, [ecx + 0x7c]
mov edx, ecx
push ecx
push eax
lea ecx, [ebp - 0x1a4]
call fcn.100445c0
movss xmm1, dword [edi + 0x44]
add esp, 0xc
ucomiss xmm1, dword [0x100e8e28]
movss dword [ebp - 0x138], xmm1
lahf
test ah, 0x44
jnp 0x100491f8
xor edi, edi
movd xmm0, edi
mov eax, edi
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100e9310]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
call fcn.100b4430
movss xmm1, dword [ebp - 0x138]
mov edx, 0xff
cmp eax, edx
movzx ecx, al
cmovbe edx, ecx
mov byte [ebp + edi - 0x110], dl
inc edi
cmp edi, 0x100
jb 0x100490d0
mov ecx, dword [ebp - 0x114]
xor eax, eax
mov dword [ebp - 0x120], eax
mov edx, dword [ecx + 0x94]
cmp dword [ecx + 0xa8], eax
jle 0x100491fe
lea ecx, [edx + 6]
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0x118], ecx
nop word [eax + eax]
cmp dword [ecx + 6], 0
je 0x100491dc
mov eax, dword [esi + 0x1c]
movzx edx, word [ecx + 4]
movzx edi, word [ecx]
movzx esi, word [ecx - 2]
mov dword [ebp - 0x11c], eax
imul edx, dword [ebp - 0x11c]
movzx eax, word [ecx + 2]
add edx, eax
mov eax, dword [ebp - 0x14c]
add edx, dword [eax + 0x14]
test edi, edi
je 0x100491ce
mov eax, dword [ebp - 0x11c]
nop
xor ecx, ecx
test esi, esi
je 0x100491b9
nop word [eax + eax]
movzx eax, byte [ecx + edx]
mov al, byte [ebp + eax - 0x110]
mov byte [ecx + edx], al
inc ecx
cmp ecx, esi
jl 0x100491a0
mov eax, dword [ebp - 0x11c]
dec edi
add edx, eax
test edi, edi
jg 0x10049190
mov esi, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x118]
jmp 0x100491d0
mov esi, eax
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x120]
inc eax
add ecx, 0x10
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x118], ecx
cmp eax, dword [edx + 0xa8]
jl 0x10049150
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x128]
mov edx, dword [ebp - 0x148]
mov dword [ecx + 0x94], 0
add eax, 0x78
add ecx, 0xc4
sub edx, 1
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x148], edx
jne 0x10049083
mov edi, dword [ebp - 0x1a0]
jmp 0x10049246
mov edi, dword [ebp - 0x114]
cmp dword [ebp - 0x17c], 0
je 0x1004925e
mov eax, dword [0x1012d1c0]
test eax, eax
je 0x1004925e
dec dword [eax + 0x374]
push dword [0x1012d1bc]
push dword [ebp - 0x17c]
call fcn.1002c950
add esp, 8
test edi, edi
je 0x10049285
mov eax, dword [0x1012d1c0]
test eax, eax
je 0x10049285
dec dword [eax + 0x374]
push dword [0x1012d1bc]
push edi
call fcn.1002c950
mov ecx, dword [ebp - 0x13c]
add esp, 8
test ecx, ecx
je 0x100492de
mov eax, dword [0x1012d1c0]
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1cc], 0
test eax, eax
je 0x100492c1
dec dword [eax + 0x374]
push dword [0x1012d1bc]
push ecx
call fcn.1002c950
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 0x1c4], ecx
mov eax, dword [ebp - 0x140]
test eax, eax
jle 0x10049824
mov edx, dword [ebp - 0x144]
xor ecx, ecx
movss xmm4, dword [0x100e8df4]
add edx, 4
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x158], edx
mov dword [ebp - 0x114], eax
cmp dword [edx + 0xa4], 0
je 0x1004978b
mov edi, dword [edx + 0x18]
xorps xmm6, xmm6
mov eax, dword [esi + 0x54]
mov esi, dword [edx]
add eax, ecx
mov dword [ebp - 0x124], eax
mov eax, dword [eax + 0x74]
movzx ecx, byte [edi + esi + 6]
movzx edx, byte [edi + esi + 7]
mov dword [ebp - 0x11c], eax
mov eax, 0x100
cwde
movsx ecx, cx
imul ecx, eax
add dx, cx
movzx ecx, byte [edi + esi + 4]
movsx eax, dx
movzx edx, byte [edi + esi + 5]
mov dword [ebp - 0x138], eax
mov eax, 0x100
cwde
movsx ecx, cx
imul ecx, eax
mov edi, dword [ebp - 0x11c]
add dx, cx
movsx ecx, dx
mov edx, dword [ebp - 0x138]
mov eax, ecx
sub eax, edx
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mov ecx, dword [ebp - 0x124]
movd xmm0, eax
mov eax, dword [ebp - 0x124]
cvtdq2ps xmm0, xmm0
movss xmm2, dword [eax + 0x10]
xor eax, eax
divss xmm2, xmm0
comiss xmm1, xmm6
mulss xmm1, xmm2
seta al
lea eax, [eax*2 - 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
movd xmm1, edx
cvtdq2ps xmm1, xmm1
cvttss2si eax, xmm0
movd xmm0, eax
xor eax, eax
comiss xmm1, xmm6
cvtdq2ps xmm0, xmm0
seta al
cmp byte [ecx + 0x3c], 0
mulss xmm1, xmm2
lea eax, [eax*2 - 1]
movss dword [ebp - 0x138], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
cvttss2si esi, xmm0
jne 0x10049450
mov ecx, edi
call fcn.10049e60
mov ecx, dword [ebp - 0x124]
xorps xmm6, xmm6
movss xmm0, dword [ebp - 0x138]
movss xmm4, dword [0x100e8df4]
movd xmm1, esi
mov eax, dword [ecx + 0x10]
cvtdq2ps xmm1, xmm1
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x14c]
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x38], eax
movss dword [edi + 0x4c], xmm0
movss dword [edi + 0x50], xmm1
jmp 0x10049455
movss xmm0, dword [edi + 0x4c]
inc word [edi + 0x40]
addss xmm0, xmm4
mov edx, dword [ebp - 0x158]
movss xmm2, dword [ecx + 0x28]
mov esi, dword [ebp - 0x14c]
movss dword [ebp - 0x1d8], xmm2
cmp dword [edx + 0xa4], 0
cvttss2si eax, xmm0
mov dword [ebp - 0x120], 0
movd xmm5, eax
cvtdq2ps xmm5, xmm5
addss xmm5, dword [ecx + 0x2c]
movss dword [ebp - 0x1dc], xmm5
jle 0x1004977f
mov dword [ebp - 0x134], 0
nop
mov eax, dword [edx + 0xbc]
mov edi, dword [ebp - 0x120]
movss xmm0, dword [ecx + 0x34]
movss dword [ebp - 0x118], xmm0
mov eax, dword [eax + edi*4]
mov dword [ebp - 0x128], eax
mov eax, dword [edx + 0x94]
mov edx, dword [ebp - 0x134]
mov dword [ebp - 0x138], eax
movss xmm1, dword [eax + edx + 0x10]
comiss xmm0, xmm1
ja 0x10049500
movss xmm0, dword [ecx + 0x38]
minss xmm0, xmm1
movss dword [ebp - 0x118], xmm0
mov edi, dword [ebp - 0x11c]
movaps xmm3, xmm2
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x10049532
cmp byte [ecx + 0x1c], 0
movaps xmm3, xmm0
subss xmm3, xmm1
mulss xmm3, xmm4
je 0x1004952e
cvttss2si eax, xmm3
movd xmm3, eax
cvtdq2ps xmm3, xmm3
addss xmm3, xmm2
movd xmm0, dword [esi + 0x1c]
movss xmm2, dword [0x100e8e28]
cvtdq2ps xmm0, xmm0
mov ecx, dword [ebp - 0x138]
movzx eax, word [ecx + edx]
movaps xmm1, xmm2
divss xmm1, xmm0
movd xmm0, dword [esi + 0x20]
cvtdq2ps xmm0, xmm0
divss xmm2, xmm0
movd xmm0, eax
movzx eax, word [ecx + edx + 2]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x16c], xmm0
movd xmm0, eax
movzx eax, word [ecx + edx + 4]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
movss dword [ebp - 0x164], xmm0
movd xmm0, eax
movzx eax, word [ecx + edx + 6]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x15c], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [edi + 0x20]
inc eax
push eax
mulss xmm0, xmm2
movss dword [ebp - 0x1d0], xmm0
movss xmm0, dword [ecx + edx + 8]
addss xmm0, xmm6
addss xmm0, xmm3
movss dword [ebp - 0x138], xmm0
movss xmm0, dword [ecx + edx + 0xc]
addss xmm0, xmm6
addss xmm0, xmm5
movss dword [ebp - 0x148], xmm0
movss xmm0, dword [ecx + edx + 0x14]
addss xmm0, xmm6
addss xmm0, xmm3
movss dword [ebp - 0x168], xmm0
movss xmm0, dword [ecx + edx + 0x18]
lea ecx, [edi + 0x20]
addss xmm0, xmm6
addss xmm0, xmm5
movss dword [ebp - 0x160], xmm0
call fcn.1004b660
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x28]
movss xmm0, dword [ebp - 0x138]
movss xmm4, dword [0x100e8df4]
lea edx, [eax + eax*4]
mov dword [ebp - 0x1d4], ecx
mov eax, dword [ebp - 0x128]
movss dword [ecx + edx*8 - 0x20], xmm0
movss xmm0, dword [ebp - 0x148]
movss dword [ecx + edx*8 - 0x1c], xmm0
movss xmm0, dword [ebp - 0x168]
movss dword [ecx + edx*8 - 0x18], xmm0
movss xmm0, dword [ebp - 0x160]
movss dword [ecx + edx*8 - 0x14], xmm0
movss xmm0, dword [ebp - 0x16c]
movss dword [ecx + edx*8 - 0x10], xmm0
movss xmm0, dword [ebp - 0x164]
movss dword [ecx + edx*8 - 0xc], xmm0
movss xmm0, dword [ebp - 0x15c]
movss dword [ecx + edx*8 - 8], xmm0
movss xmm0, dword [ebp - 0x1d0]
movss dword [ecx + edx*8 - 4], xmm0
mov word [ecx + edx*8 - 0x28], ax
mov eax, dword [edi + 0x3c]
movss xmm0, dword [eax + 0x20]
addss xmm0, dword [ebp - 0x118]
movss dword [ecx + edx*8 - 0x24], xmm0
mov eax, dword [edi + 0x3c]
cmp byte [eax + 0x1c], 0
je 0x100496e5
addss xmm0, xmm4
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ecx + edx*8 - 0x24], xmm0
mov eax, dword [edi + 0x38]
xorps xmm6, xmm6
mov byte [edi + 0x58], 1
movss xmm1, dword [ecx + edx*8 - 8]
subss xmm1, dword [ecx + edx*8 - 0x10]
movd xmm0, dword [eax + 0x1c]
cvtdq2ps xmm0, xmm0
add dword [ebp - 0x134], 0x1c
movss xmm2, dword [ebp - 0x1d8]
mulss xmm1, xmm0
movss xmm5, dword [ebp - 0x1dc]
addss xmm1, dword [0x100e8e60]
cvttss2si ecx, xmm1
movd xmm1, dword [eax + 0x20]
mov eax, dword [ebp - 0x1d4]
cvtdq2ps xmm1, xmm1
movss xmm0, dword [eax + edx*8 - 4]
subss xmm0, dword [eax + edx*8 - 0xc]
mov edx, dword [ebp - 0x158]
mulss xmm1, xmm0
addss xmm1, dword [0x100e8e60]
cvttss2si eax, xmm1
imul ecx, eax
mov eax, dword [ebp - 0x120]
inc eax
mov dword [ebp - 0x120], eax
add dword [edi + 0x54], ecx
mov ecx, dword [ebp - 0x124]
cmp eax, dword [edx + 0xa4]
jl 0x100494b0
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x130]
add edx, 0xc4
add ecx, 0x78
sub eax, 1
mov dword [ebp - 0x158], edx
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x114], eax
jne 0x10049311
mov edi, dword [ebp - 0x144]
add edi, 0xb4
nop dword [eax + eax]
mov byte [ebp - 4], 6
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x100497e9
mov eax, dword [0x1012d1c0]
test eax, eax
je 0x100497da
dec dword [eax + 0x374]
push dword [0x1012d1bc]
push ecx
call fcn.1002c950
add esp, 8
mov byte [ebp - 4], 7
mov ecx, dword [edi]
test ecx, ecx
je 0x10049811
mov eax, dword [0x1012d1c0]
test eax, eax
je 0x10049802
dec dword [eax + 0x374]
push dword [0x1012d1bc]
push ecx
call fcn.1002c950
add esp, 8
mov byte [ebp - 4], 3
add edi, 0xc4
sub dword [ebp - 0x140], 1
jne 0x100497c0
mov ecx, esi
call fcn.10049910
mov byte [ebp - 0x129], 1
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x154]
test ecx, ecx
je 0x1004985e
mov eax, dword [0x1012d1c0]
test eax, eax
je 0x1004984f
dec dword [eax + 0x374]
push dword [0x1012d1bc]
push ecx
call fcn.1002c950
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x13c]
test ecx, ecx
je 0x1004988a
mov eax, dword [0x1012d1c0]
test eax, eax
je 0x1004987b
dec dword [eax + 0x374]
push dword [0x1012d1bc]
push ecx
call fcn.1002c950
add esp, 8
mov edi, dword [ebp - 0x150]
mov byte [ebp - 4], 0xa
test edi, edi
je 0x100498b6
mov eax, dword [0x1012d1c0]
test eax, eax
je 0x100498a7
dec dword [eax + 0x374]
push dword [0x1012d1bc]
push edi
call fcn.1002c950
add esp, 8
mov dword [ebp - 4], 0xb
mov eax, dword [ebp - 0x144]
test eax, eax
je 0x100498e6
mov ecx, dword [0x1012d1c0]
test ecx, ecx
je 0x100498d7
dec dword [ecx + 0x374]
push dword [0x1012d1bc]
push eax
call fcn.1002c950
add esp, 8
mov al, byte [ebp - 0x129]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1005d6c0
mov esp, ebp
pop ebp
ret