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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b8e0c
mov eax, dword fs:[0]
push eax
sub esp, 0x1e8
mov eax, dword [0x10129014]
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 0x100482e7
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 0x100482db
mov dword [ebp - 0x190], 0x20002
call fcn.1004ba10
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.10047b60
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 0x100483cb
cmp ecx, edx
mov eax, ecx
cmovl eax, edx
mov dword [ebp - 0x118], eax
test eax, eax
jle 0x100483cb
mov ecx, dword [0x1012e1cc]
test ecx, ecx
je 0x10048393
inc dword [ecx + 0x374]
push dword [0x1012e1c8]
imul eax, eax, 0xc4
push eax
call fcn.1002cc30
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 0x10048435
cmp ecx, 8
mov eax, ecx
cmovl eax, edx
mov dword [ebp - 0x118], eax
test eax, eax
jle 0x10048435
mov ecx, dword [0x1012e1cc]
test ecx, ecx
je 0x10048400
inc dword [ecx + 0x374]
push dword [0x1012e1c8]
lea eax, [eax + eax*2]
shl eax, 3
push eax
call fcn.1002cc30
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.10063460
mov eax, dword [ebp - 0x130]
lea eax, [eax + eax*2]
shl eax, 3
push eax
push 0
push edi
call fcn.10063460
add esp, 0x18
mov dword [ebp - 0x120], 0
cmp dword [esi + 0x4c], 0
jle 0x100485d3
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 0x10048bca
or eax, 0xffffffff
cmp eax, 0xffffffff
jne 0x100484f5
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 0x100484e3
mov dword [eax - 4], edx
mov eax, edx
jmp 0x100484e6
mov eax, dword [eax - 4]
inc edx
cmp edx, dword [esi + 0x34]
jl 0x100484c0
cmp eax, 0xffffffff
je 0x10048bca
mov eax, dword [ebp - 0x13c]
mov esi, dword [eax]
mov ecx, esi
mov edx, dword [eax + 0xc]
call fcn.10044d50
mov ecx, dword [ebp - 0x114]
mov edx, esi
add ecx, 0xffffff5c
push eax
mov dword [ebp - 0x118], ecx
call fcn.1003eeb0
add esp, 4
test eax, eax
je 0x10048bca
mov eax, dword [ebp - 0x118]
mov esi, 0x100e82b8
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 0x10048584
movzx eax, word [esi + 2]
test ax, ax
je 0x1004857e
mov ecx, eax
cmp dword [edx], ecx
cmovge ecx, dword [edx]
add esi, 4
mov dword [edx], ecx
cmp word [esi], 0
jne 0x10048563
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 0x100484a0
mov eax, dword [ebp - 0x140]
xor esi, esi
mov dword [ebp - 0x124], esi
test eax, eax
jle 0x10048912
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.1003da10
mov eax, dword [esi]
mov ecx, dword [ebp - 0x114]
shl eax, 2
push eax
push 0
push dword [ecx + 0xc]
call fcn.10063460
mov eax, dword [ebp - 0x150]
add esp, 0xc
cmp dword [eax + edi*8 + 0xc], 0
lea esi, [eax + edi*8]
jne 0x10048671
mov eax, dword [eax + edi*8 + 4]
lea ecx, [esi + 0xc]
add eax, 0x20
sar eax, 5
push eax
call fcn.1003da10
mov eax, dword [esi + 0xc]
shl eax, 2
push eax
push 0
push dword [esi + 0x14]
call fcn.10063460
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 0x10048764
nop dword [eax]
movzx eax, word [eax + 2]
test ax, ax
je 0x10048764
movzx edi, cx
cmp edi, eax
ja 0x10048749
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 0x10048730
mov ecx, dword [ebp - 0x114]
mov edx, edi
add ecx, 0xffffff58
call fcn.1003f380
mov edx, dword [ebp - 0x114]
test eax, eax
je 0x10048736
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 0x100486b0
mov eax, dword [ebp - 0x154]
add eax, 4
mov dword [ebp - 0x154], eax
movzx ecx, word [eax]
test cx, cx
jne 0x10048690
add edx, 0xc4
sub dword [ebp - 0x11c], 1
mov dword [ebp - 0x114], edx
jne 0x10048601
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 0x10048821
mov eax, dword [0x1012e1cc]
test eax, eax
je 0x100487b7
inc dword [eax + 0x374]
push dword [0x1012e1c8]
lea eax, [esi*4]
push eax
call fcn.1002cc30
mov ecx, dword [ebp - 0x114]
add esp, 8
mov edi, eax
mov edx, dword [ecx]
test edx, edx
je 0x1004881c
mov ecx, dword [ecx - 8]
shl ecx, 2
push ecx
push edx
push edi
call fcn.10062ee0
mov eax, dword [ebp - 0x114]
add esp, 0xc
mov ecx, dword [eax]
test ecx, ecx
je 0x10048807
mov eax, dword [0x1012e1cc]
test eax, eax
je 0x10048807
dec dword [eax + 0x374]
push dword [0x1012e1c8]
push ecx
call fcn.1002cc40
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 0x100488ad
xor edx, edx
mov dword [ebp - 0x120], edx
mov eax, dword [esi]
mov dword [ebp - 0x128], eax
test eax, eax
je 0x10048893
xor edi, edi
mov esi, 1
test esi, eax
je 0x10048885
and edx, 0xffffffe0
lea eax, [ebp - 0x118]
add edx, edi
add ecx, 0xfffffff8
push eax
mov dword [ebp - 0x118], edx
call fcn.1003daf0
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x128]
mov edx, dword [ebp - 0x120]
inc edi
rol esi, 1
cmp edi, 0x20
jl 0x10048855
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 0x10048842
mov edx, dword [ecx - 0xc]
test edx, edx
je 0x100488ed
mov eax, dword [0x1012e1cc]
mov dword [ecx - 0x10], 0
mov dword [ecx - 0x14], 0
test eax, eax
je 0x100488d1
dec dword [eax + 0x374]
push dword [0x1012e1c8]
push edx
call fcn.1002cc40
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 0x100487a0
mov edi, dword [ebp - 0x150]
mov esi, dword [ebp - 0x124]
cmp dword [ebp - 0x130], 0
jle 0x10048982
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 0x1004896e
mov dword [eax - 4], 0
mov dword [eax - 8], 0
mov eax, dword [0x1012e1cc]
test eax, eax
je 0x10048953
dec dword [eax + 0x374]
push dword [0x1012e1c8]
push ecx
call fcn.1002cc40
mov eax, dword [ebp - 0x11c]
add esp, 8
mov dword [eax], 0
add eax, 0x18
mov dword [ebp - 0x11c], eax
sub esi, 1
jne 0x10048930
mov esi, dword [ebp - 0x124]
test edi, edi
je 0x100489c6
mov eax, dword [0x1012e1cc]
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1c0], 0
test eax, eax
je 0x100489a9
dec dword [eax + 0x374]
push dword [0x1012e1c8]
push edi
call fcn.1002cc40
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.1004b890
test esi, esi
jle 0x10048a67
cmp esi, 8
mov edi, esi
mov eax, 8
cmovl edi, eax
test edi, edi
jle 0x10048a67
mov eax, dword [0x1012e1cc]
test eax, eax
je 0x10048a3a
inc dword [eax + 0x374]
push dword [0x1012e1c8]
lea eax, [edi*8]
sub eax, edi
shl eax, 2
push eax
call fcn.1002cc30
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.10063460
lea eax, [esi*8]
sub eax, esi
shl eax, 2
push eax
push 0
push dword [ebp - 0x154]
call fcn.10063460
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 0x10048f3e
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 0x10048f1c
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 [0x100e9dc8]
mov dword [ebp - 0x158], edx
jbe 0x10048bd6
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 0x10048bfc
mov byte [ebp - 0x129], 0
jmp 0x10049b80
mov ecx, dword [esi - 0x84]
mov eax, dword [esi - 0x94]
xorps xmm1, xmmword [0x100ea3b0]
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 0x10048f10
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.1003f380
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 0x10048cf0
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.10041780
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 0x10048dcf
call fcn.1003f6e0
mov edi, eax
test edi, edi
jns 0x10048d20
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 0x10048e85
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 [0x100e9dc8]
call fcn.1003e040
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.1003e040
cvttss2si eax, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [ebp - 0x1b4]
mov dword [ebp - 0x148], eax
mulss xmm0, dword [ebp - 0x164]
addss xmm0, dword [0x100e9dc8]
call fcn.1003e000
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.1003e000
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 0x10048c33
mov edi, dword [ebp - 0x11c]
jmp 0x10048f16
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 0x10048af0
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 0x10048f9e
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [0x100e9f00]
jb 0x10048f7a
mov eax, 0x1000
jmp 0x10048f9e
comiss xmm0, dword [0x100e9efc]
jb 0x10048f8a
mov eax, 0x800
jmp 0x10048f9e
comiss xmm0, dword [0x100e9ef0]
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.10063460
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 [0x1012e1cc]
test eax, eax
je 0x10048fd5
inc dword [eax + 0x374]
push dword [0x1012e1c8]
push 0x30
call fcn.1002cc30
mov ecx, dword [0x1012e1cc]
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 0x1004900f
inc dword [ecx + 0x374]
push dword [0x1012e1c8]
shl eax, 3
push eax
call fcn.1002cc30
add esp, 8
test edi, edi
je 0x100490a9
test eax, eax
je 0x10049091
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.1003e080
add esp, 0xc
jmp 0x100490d8
mov eax, dword [0x1012e1cc]
test eax, eax
je 0x100490a0
dec dword [eax + 0x374]
push dword [0x1012e1c8]
push edi
jmp 0x100490c4
test eax, eax
je 0x100490cc
mov ecx, dword [0x1012e1cc]
test ecx, ecx
je 0x100490bd
dec dword [ecx + 0x374]
push dword [0x1012e1c8]
push eax
call fcn.1002cc40
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.1004b890
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.10063460
add esp, 0xc
cmp dword [esi + 0x40], 0
jle 0x1004916a
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 0x10049140
mov edi, dword [ebp - 0x114]
push dword [ebp - 0x178]
mov edx, dword [ebp - 0x170]
mov ecx, edi
call fcn.1003e530
mov eax, dword [ebp - 0x178]
add esp, 4
test eax, eax
jle 0x100491dc
mov edx, dword [ebp - 0x170]
xor edi, edi
add edx, 0xa
cmp dword [edx + 2], 0
je 0x100491cb
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 0x10049195
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x170]
test eax, eax
je 0x10049209
mov ecx, dword [0x1012e1cc]
test ecx, ecx
je 0x100491fa
dec dword [ecx + 0x374]
push dword [0x1012e1c8]
push eax
call fcn.1002cc40
add esp, 8
mov byte [ebp - 4], 3
mov edi, dword [ebp - 0x140]
test edi, edi
jle 0x100492a9
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 0x10049294
mov edx, dword [edi - 0x14]
mov ecx, dword [ebp - 0x114]
push eax
call fcn.1003e530
xor ecx, ecx
add esp, 4
mov dword [ebp - 0x118], ecx
cmp dword [edi], ecx
jle 0x10049294
xor edx, edx
nop dword [eax]
mov eax, dword [edi - 0x14]
cmp dword [edx + eax + 0xc], 0
je 0x10049286
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 0x10049260
add edi, 0xc4
sub dword [ebp - 0x128], 1
jne 0x10049233
mov edi, dword [ebp - 0x140]
test byte [esi + 4], 1
mov eax, dword [esi + 0x20]
jne 0x100492d7
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 [0x100e9e40]
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 [0x1012e1cc]
movss dword [esi + 0x24], xmm2
divss xmm1, xmm0
movss dword [esi + 0x28], xmm1
test eax, eax
je 0x1004931b
inc dword [eax + 0x374]
push dword [0x1012e1c8]
push ecx
call fcn.1002cc30
mov ecx, dword [esi + 0x20]
imul ecx, dword [esi + 0x1c]
mov dword [esi + 0x14], eax
push ecx
push 0
push eax
call fcn.10063460
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 0x10049530
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 0x10049504
push dword [ecx + 0x94]
lea eax, [ecx + 0x7c]
mov edx, ecx
push ecx
push eax
lea ecx, [ebp - 0x1a4]
call fcn.100448b0
movss xmm1, dword [edi + 0x44]
add esp, 0xc
ucomiss xmm1, dword [0x100e9e40]
movss dword [ebp - 0x138], xmm1
lahf
test ah, 0x44
jnp 0x100494e8
xor edi, edi
movd xmm0, edi
mov eax, edi
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100ea340]
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
call fcn.100b48d0
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 0x100493c0
mov ecx, dword [ebp - 0x114]
xor eax, eax
mov dword [ebp - 0x120], eax
mov edx, dword [ecx + 0x94]
cmp dword [ecx + 0xa8], eax
jle 0x100494ee
lea ecx, [edx + 6]
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0x118], ecx
nop word [eax + eax]
cmp dword [ecx + 6], 0
je 0x100494cc
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 0x100494be
mov eax, dword [ebp - 0x11c]
nop
xor ecx, ecx
test esi, esi
je 0x100494a9
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 0x10049490
mov eax, dword [ebp - 0x11c]
dec edi
add edx, eax
test edi, edi
jg 0x10049480
mov esi, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x118]
jmp 0x100494c0
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 0x10049440
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 0x10049373
mov edi, dword [ebp - 0x1a0]
jmp 0x10049536
mov edi, dword [ebp - 0x114]
cmp dword [ebp - 0x17c], 0
je 0x1004954e
mov eax, dword [0x1012e1cc]
test eax, eax
je 0x1004954e
dec dword [eax + 0x374]
push dword [0x1012e1c8]
push dword [ebp - 0x17c]
call fcn.1002cc40
add esp, 8
test edi, edi
je 0x10049575
mov eax, dword [0x1012e1cc]
test eax, eax
je 0x10049575
dec dword [eax + 0x374]
push dword [0x1012e1c8]
push edi
call fcn.1002cc40
mov ecx, dword [ebp - 0x13c]
add esp, 8
test ecx, ecx
je 0x100495ce
mov eax, dword [0x1012e1cc]
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1cc], 0
test eax, eax
je 0x100495b1
dec dword [eax + 0x374]
push dword [0x1012e1c8]
push ecx
call fcn.1002cc40
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 0x10049b14
mov edx, dword [ebp - 0x144]
xor ecx, ecx
movss xmm4, dword [0x100e9e0c]
add edx, 4
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x158], edx
mov dword [ebp - 0x114], eax
cmp dword [edx + 0xa4], 0
je 0x10049a7b
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 0x10049740
mov ecx, edi
call fcn.1004a150
mov ecx, dword [ebp - 0x124]
xorps xmm6, xmm6
movss xmm0, dword [ebp - 0x138]
movss xmm4, dword [0x100e9e0c]
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 0x10049745
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 0x10049a6f
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 0x100497f0
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 0x10049822
cmp byte [ecx + 0x1c], 0
movaps xmm3, xmm0
subss xmm3, xmm1
mulss xmm3, xmm4
je 0x1004981e
cvttss2si eax, xmm3
movd xmm3, eax
cvtdq2ps xmm3, xmm3
addss xmm3, xmm2
movd xmm0, dword [esi + 0x1c]
movss xmm2, dword [0x100e9e40]
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.1004b950
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x28]
movss xmm0, dword [ebp - 0x138]
movss xmm4, dword [0x100e9e0c]
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 0x100499d5
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 [0x100e9e78]
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 [0x100e9e78]
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 0x100497a0
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 0x10049601
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 0x10049ad9
mov eax, dword [0x1012e1cc]
test eax, eax
je 0x10049aca
dec dword [eax + 0x374]
push dword [0x1012e1c8]
push ecx
call fcn.1002cc40
add esp, 8
mov byte [ebp - 4], 7
mov ecx, dword [edi]
test ecx, ecx
je 0x10049b01
mov eax, dword [0x1012e1cc]
test eax, eax
je 0x10049af2
dec dword [eax + 0x374]
push dword [0x1012e1c8]
push ecx
call fcn.1002cc40
add esp, 8
mov byte [ebp - 4], 3
add edi, 0xc4
sub dword [ebp - 0x140], 1
jne 0x10049ab0
mov ecx, esi
call fcn.10049c00
mov byte [ebp - 0x129], 1
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x154]
test ecx, ecx
je 0x10049b4e
mov eax, dword [0x1012e1cc]
test eax, eax
je 0x10049b3f
dec dword [eax + 0x374]
push dword [0x1012e1c8]
push ecx
call fcn.1002cc40
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x13c]
test ecx, ecx
je 0x10049b7a
mov eax, dword [0x1012e1cc]
test eax, eax
je 0x10049b6b
dec dword [eax + 0x374]
push dword [0x1012e1c8]
push ecx
call fcn.1002cc40
add esp, 8
mov edi, dword [ebp - 0x150]
mov byte [ebp - 4], 0xa
test edi, edi
je 0x10049ba6
mov eax, dword [0x1012e1cc]
test eax, eax
je 0x10049b97
dec dword [eax + 0x374]
push dword [0x1012e1c8]
push edi
call fcn.1002cc40
add esp, 8
mov dword [ebp - 4], 0xb
mov eax, dword [ebp - 0x144]
test eax, eax
je 0x10049bd6
mov ecx, dword [0x1012e1cc]
test ecx, ecx
je 0x10049bc7
dec dword [ecx + 0x374]
push dword [0x1012e1c8]
push eax
call fcn.1002cc40
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.1005db50
mov esp, ebp
pop ebp
ret