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

Disassembly:
push ecx
mov edx, dword [esp + 8]
push ebx
push ebp
push esi
movsx eax, word [edx + 8]
mov ebp, dword [edx + 0x20]
push edi
test eax, eax
je 0x49ecda
mov ecx, dword [0x6b94c4]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
mov ebx, dword [0x84d9c0]
mov edx, dword [ebp + 0xc]
mov edi, dword [0x84d9c4]
and eax, ebx
and edx, edi
or eax, edx
jne 0x49ebda
test byte [ebp], 2
jne 0x49e669
fld dword [0x4d673c]
fmul dword [ebp + 0x44]
fld dword [0x4d6738]
fmul dword [ebp + 0x40]
faddp st(1)
fld dword [0x4d6740]
fmul dword [ebp + 0x48]
faddp st(1)
fadd dword [ebp + 0x4c]
fcomp dword [0x4b0004]
fnstsw ax
test ah, 0x41
je 0x49ebda
mov eax, dword [ebp + 0x5c]
mov edx, dword [ebp + 0x58]
mov esi, dword [eax + 0x58]
mov eax, dword [ebp + 0x54]
mov edi, dword [edx + 0x58]
mov edx, dword [eax + 0x58]
mov eax, dword [ebp + 0x50]
mov eax, dword [eax + 0x58]
mov ebx, eax
or ebx, edx
or ebx, edi
or ebx, esi
test bl, 0x10
jne 0x49e6a2
and eax, edx
and eax, edi
and eax, esi
jne 0x49ebda
test al, 0x10
jne 0x49ebda
mov ax, word [ebp]
test al, 4
je 0x49e72f
cmp ecx, 0x578
jge 0x49ebda
movsx edx, word [0x86e2a4]
lea eax, [ecx + ecx*4]
shl eax, 3
sub eax, ecx
shl eax, 2
test ebx, ebx
mov dword [eax + 0x618264], edx
mov dword [eax + 0x61825c], 4
movsx edx, word [ebp + 2]
mov dword [eax + 0x618260], edx
je 0x49e6f6
mov dword [eax + 0x618258], 8
jmp 0x49e700
mov dword [eax + 0x618258], 0xc
mov dx, word [ebp]
and edx, 0x100
shr edx, 8
mov dword [eax + 0x618268], edx
inc ecx
mov dword [eax + 0x61826c], 0
lea eax, [eax + 0x618274]
mov dword [0x6b94c4], ecx
jmp 0x49e835
mov cx, word [ebp + 2]
movsx eax, cx
test ebx, ebx
lea edx, [eax + eax*4]
lea edx, [edx + edx*4]
lea edx, [edx + edx*8]
lea eax, [eax + edx*4]
mov edx, dword [0x86e278]
jne 0x49e752
mov edx, dword [0x86e26c]
lea esi, [edx + eax*8]
mov eax, dword [edx + eax*8 + 0x324]
sub eax, esi
sub eax, 0x328
sar eax, 5
cmp ax, 0xc3
jle 0x49e7d0
cmp word [0x4b6d9c], cx
je 0x49e7c4
cmp cx, 0xffff
mov word [0x4b6d9c], cx
jne 0x49e796
mov eax, dword [0x74c7b0]
push 0
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x98]
jmp 0x49e7be
movsx eax, cx
mov edx, dword [0x74c7b0]
lea ecx, [eax + eax*4]
mov edi, dword [edx]
lea eax, [eax + ecx*8]
mov ecx, dword [0x847288]
mov eax, dword [ecx + eax*4 + 0x94]
push eax
push 0
push edx
call dword [edi + 0x98]
inc dword [0x74c678]
push ebx
push esi
call fcn.00421d40
add esp, 8
xor eax, eax
mov ecx, dword [esi + 0x320]
lea edx, [eax + 1]
mov word [ecx], ax
mov ecx, dword [esi + 0x320]
mov word [ecx + 2], dx
mov edx, dword [esi + 0x320]
lea ecx, [eax + 2]
mov word [edx + 4], cx
mov edx, dword [esi + 0x320]
mov word [edx + 6], ax
mov edx, dword [esi + 0x320]
add eax, 3
mov word [edx + 8], cx
mov ecx, dword [esi + 0x320]
mov word [ecx + 0xa], ax
mov eax, dword [esi + 0x320]
add eax, 0xc
mov dword [esi + 0x320], eax
mov eax, dword [esi + 0x324]
lea edx, [eax + 0x80]
mov dword [esi + 0x324], edx
mov ecx, dword [ebp + 0x50]
mov edx, eax
add ecx, 0x24
mov esi, dword [ecx]
mov dword [edx], esi
mov esi, dword [ecx + 4]
mov dword [edx + 4], esi
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp + 0x54]
add edx, 0x24
lea ecx, [eax + 0x20]
mov esi, dword [edx]
mov dword [ecx], esi
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov esi, dword [edx + 8]
mov dword [ecx + 8], esi
mov edx, dword [edx + 0xc]
mov dword [ecx + 0xc], edx
mov ecx, dword [ebp + 0x58]
add ecx, 0x24
lea edx, [eax + 0x40]
mov esi, dword [ecx]
mov dword [edx], esi
mov esi, dword [ecx + 4]
mov dword [edx + 4], esi
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp + 0x5c]
add edx, 0x24
lea ecx, [eax + 0x60]
mov esi, dword [edx]
mov dword [ecx], esi
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov esi, dword [edx + 8]
mov dword [ecx + 8], esi
mov edx, dword [edx + 0xc]
mov dword [ecx + 0xc], edx
mov ecx, dword [ebp + 0x20]
mov dword [eax + 0x18], ecx
mov edx, dword [ebp + 0x24]
mov dword [eax + 0x1c], edx
mov ecx, dword [ebp + 0x28]
mov dword [eax + 0x38], ecx
mov edx, dword [ebp + 0x2c]
mov dword [eax + 0x3c], edx
mov ecx, dword [ebp + 0x30]
mov dword [eax + 0x58], ecx
mov edx, dword [ebp + 0x34]
mov dword [eax + 0x5c], edx
mov ecx, dword [ebp + 0x38]
mov dword [eax + 0x78], ecx
mov ecx, dword [esp + 0x1c]
mov edx, dword [ebp + 0x3c]
test ecx, ecx
mov dword [eax + 0x7c], edx
je 0x49eaab
mov edx, dword [ebp + 0x50]
xor ecx, ecx
mov cl, byte [ebp + 0x12]
mov edi, dword [edx + 0x44]
mov edx, 0xff
add ecx, edi
cmp ecx, edx
jle 0x49e907
mov byte [eax + 0x12], dl
jmp 0x49e914
test ecx, ecx
jge 0x49e911
mov byte [eax + 0x12], 0
jmp 0x49e914
mov byte [eax + 0x12], cl
mov esi, dword [ebp + 0x50]
xor ecx, ecx
mov cl, byte [ebp + 0x11]
add ecx, dword [esi + 0x48]
cmp ecx, edx
jle 0x49e928
mov byte [eax + 0x11], dl
jmp 0x49e935
test ecx, ecx
jge 0x49e932
mov byte [eax + 0x11], 0
jmp 0x49e935
mov byte [eax + 0x11], cl
mov esi, dword [ebp + 0x50]
xor ecx, ecx
mov cl, byte [ebp + 0x10]
add ecx, dword [esi + 0x4c]
cmp ecx, edx
jle 0x49e949
mov byte [eax + 0x10], dl
jmp 0x49e956
test ecx, ecx
jge 0x49e953
mov byte [eax + 0x10], 0
jmp 0x49e956
mov byte [eax + 0x10], cl
mov cl, byte [ebp + 0x13]
mov byte [eax + 0x13], cl
mov esi, dword [ebp + 0x54]
xor ecx, ecx
mov cl, byte [ebp + 0x16]
mov edi, dword [esi + 0x44]
add ecx, edi
cmp ecx, edx
jle 0x49e972
mov byte [eax + 0x32], dl
jmp 0x49e97f
test ecx, ecx
jge 0x49e97c
mov byte [eax + 0x32], 0
jmp 0x49e97f
mov byte [eax + 0x32], cl
mov esi, dword [ebp + 0x54]
xor ecx, ecx
mov cl, byte [ebp + 0x15]
add ecx, dword [esi + 0x48]
cmp ecx, edx
jle 0x49e993
mov byte [eax + 0x31], dl
jmp 0x49e9a0
test ecx, ecx
jge 0x49e99d
mov byte [eax + 0x31], 0
jmp 0x49e9a0
mov byte [eax + 0x31], cl
mov esi, dword [ebp + 0x54]
xor ecx, ecx
mov cl, byte [ebp + 0x14]
add ecx, dword [esi + 0x4c]
cmp ecx, edx
jle 0x49e9b4
mov byte [eax + 0x30], dl
jmp 0x49e9c1
test ecx, ecx
jge 0x49e9be
mov byte [eax + 0x30], 0
jmp 0x49e9c1
mov byte [eax + 0x30], cl
mov cl, byte [ebp + 0x17]
mov byte [eax + 0x33], cl
mov esi, dword [ebp + 0x58]
xor ecx, ecx
mov cl, byte [ebp + 0x1a]
mov edi, dword [esi + 0x44]
add ecx, edi
cmp ecx, edx
jle 0x49e9dd
mov byte [eax + 0x52], dl
jmp 0x49e9ea
test ecx, ecx
jge 0x49e9e7
mov byte [eax + 0x52], 0
jmp 0x49e9ea
mov byte [eax + 0x52], cl
mov esi, dword [ebp + 0x58]
xor ecx, ecx
mov cl, byte [ebp + 0x19]
add ecx, dword [esi + 0x48]
cmp ecx, edx
jle 0x49e9fe
mov byte [eax + 0x51], dl
jmp 0x49ea0b
test ecx, ecx
jge 0x49ea08
mov byte [eax + 0x51], 0
jmp 0x49ea0b
mov byte [eax + 0x51], cl
mov esi, dword [ebp + 0x58]
xor ecx, ecx
mov cl, byte [ebp + 0x18]
add ecx, dword [esi + 0x4c]
cmp ecx, edx
jle 0x49ea1f
mov byte [eax + 0x50], dl
jmp 0x49ea2c
test ecx, ecx
jge 0x49ea29
mov byte [eax + 0x50], 0
jmp 0x49ea2c
mov byte [eax + 0x50], cl
mov cl, byte [ebp + 0x1b]
mov byte [eax + 0x53], cl
mov esi, dword [ebp + 0x5c]
xor ecx, ecx
mov cl, byte [ebp + 0x1e]
mov edi, dword [esi + 0x44]
add ecx, edi
cmp ecx, edx
jle 0x49ea48
mov byte [eax + 0x72], dl
jmp 0x49ea55
test ecx, ecx
jge 0x49ea52
mov byte [eax + 0x72], 0
jmp 0x49ea55
mov byte [eax + 0x72], cl
mov esi, dword [ebp + 0x5c]
xor ecx, ecx
mov cl, byte [ebp + 0x1d]
add ecx, dword [esi + 0x48]
cmp ecx, edx
jle 0x49ea69
mov byte [eax + 0x71], dl
jmp 0x49ea76
test ecx, ecx
jge 0x49ea73
mov byte [eax + 0x71], 0
jmp 0x49ea76
mov byte [eax + 0x71], cl
mov esi, dword [ebp + 0x5c]
xor ecx, ecx
mov cl, byte [ebp + 0x1c]
add ecx, dword [esi + 0x4c]
cmp ecx, edx
jle 0x49ea90
mov byte [eax + 0x70], dl
mov dl, byte [ebp + 0x1f]
mov byte [eax + 0x73], dl
jmp 0x49eac3
test ecx, ecx
jge 0x49eaa0
mov byte [eax + 0x70], 0
mov dl, byte [ebp + 0x1f]
mov byte [eax + 0x73], dl
jmp 0x49eac3
mov byte [eax + 0x70], cl
mov dl, byte [ebp + 0x1f]
mov byte [eax + 0x73], dl
jmp 0x49eac3
mov ecx, dword [ebp + 0x10]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp + 0x14]
mov dword [eax + 0x30], edx
mov ecx, dword [ebp + 0x18]
mov dword [eax + 0x50], ecx
mov edx, dword [ebp + 0x1c]
mov dword [eax + 0x70], edx
cmp word [0x86e2a4], 0
je 0x49eaf1
mov ecx, dword [ebp + 0x50]
mov edx, dword [ecx + 0x38]
mov dword [eax + 0x14], edx
mov ecx, dword [ebp + 0x54]
mov edx, dword [ecx + 0x38]
mov dword [eax + 0x34], edx
mov ecx, dword [ebp + 0x58]
mov edx, dword [ecx + 0x38]
mov dword [eax + 0x54], edx
mov ecx, dword [ebp + 0x5c]
mov edx, dword [ecx + 0x38]
mov dword [eax + 0x74], edx
mov ax, word [ebp]
mov edx, dword [0x86e268]
and eax, edx
test ax, ax
je 0x49ebd4
mov eax, dword [0x86e274]
test ebx, ebx
jne 0x49eb14
mov eax, dword [0x86e27c]
mov ecx, dword [eax + 0x3e84]
sub ecx, eax
sub ecx, 0x3e88
sar ecx, 5
cmp cx, 0xf9c
jg 0x49ebd4
mov edx, dword [eax + 0x3e80]
mov word [edx], cx
mov esi, dword [eax + 0x3e80]
lea edx, [ecx + 1]
mov word [esi + 2], dx
mov esi, dword [eax + 0x3e80]
lea edx, [ecx + 2]
mov word [esi + 4], dx
mov esi, dword [eax + 0x3e80]
mov word [esi + 6], cx
mov esi, dword [eax + 0x3e80]
add ecx, 3
mov word [esi + 8], dx
mov edx, dword [eax + 0x3e80]
mov word [edx + 0xa], cx
mov ecx, dword [eax + 0x3e80]
mov edx, dword [eax + 0x3e84]
add ecx, 0xc
mov dword [eax + 0x3e80], ecx
mov edi, edx
lea ecx, [edx + 0x80]
mov dword [eax + 0x3e84], ecx
mov esi, dword [ebp + 0x50]
add esi, 0x24
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x54]
lea edi, [edx + 0x20]
add esi, 0x24
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x58]
lea edi, [edx + 0x40]
add esi, 0x24
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x5c]
lea edi, [edx + 0x60]
add esi, 0x24
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x6b94c4]
mov eax, dword [esp + 0x10]
add ebp, 0x60
dec eax
mov dword [esp + 0x10], eax
jne 0x49e612
mov edx, dword [esp + 0x18]
movsx eax, word [edx + 0xa]
test eax, eax
je 0x49f0de
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
mov ebx, dword [0x84d9c0]
mov edx, dword [ebp + 0xc]
mov edi, dword [0x84d9c4]
and eax, ebx
and edx, edi
or eax, edx
jne 0x49f0c8
mov dx, word [ebp]
test dl, 2
jne 0x49ec5a
fld dword [0x4d673c]
fmul dword [ebp + 0x44]
fld dword [0x4d6738]
fmul dword [ebp + 0x40]
faddp st(1)
fld dword [0x4d6740]
fmul dword [ebp + 0x48]
faddp st(1)
fadd dword [ebp + 0x4c]
fcomp dword [0x4b0004]
fnstsw ax
test ah, 0x41
je 0x49f0c8
mov eax, dword [ebp + 0x58]
mov esi, dword [eax + 0x58]
mov eax, dword [ebp + 0x54]
mov edi, dword [eax + 0x58]
mov eax, dword [ebp + 0x50]
mov eax, dword [eax + 0x58]
mov ebx, eax
or ebx, edi
or ebx, esi
test bl, 0x10
jne 0x49ec89
and eax, edi
and eax, esi
jne 0x49f0c8
test al, 0x10
jne 0x49f0c8
test dl, 4
je 0x49ed1e
cmp ecx, 0x578
jge 0x49f0c8
movsx edx, word [0x86e2a4]
lea eax, [ecx + ecx*4]
shl eax, 3
sub eax, ecx
shl eax, 2
test ebx, ebx
mov dword [eax + 0x618264], edx
mov dword [eax + 0x61825c], 3
movsx edx, word [ebp + 2]
mov dword [eax + 0x618260], edx
je 0x49ece5
mov dword [eax + 0x618258], 8
jmp 0x49ecef
mov ecx, dword [0x6b94c4]
jmp 0x49ebf0
mov dword [eax + 0x618258], 0xc
mov dx, word [ebp]
and edx, 0x100
shr edx, 8
mov dword [eax + 0x618268], edx
inc ecx
mov dword [eax + 0x61826c], 0
lea eax, [eax + 0x618274]
mov dword [0x6b94c4], ecx
jmp 0x49ee00
mov cx, word [ebp + 2]
movsx eax, cx
test ebx, ebx
lea edx, [eax + eax*4]
lea edx, [edx + edx*4]
lea edx, [edx + edx*8]
lea eax, [eax + edx*4]
mov edx, dword [0x86e278]
jne 0x49ed41
mov edx, dword [0x86e26c]
lea esi, [edx + eax*8]
mov eax, dword [edx + eax*8 + 0x324]
sub eax, esi
sub eax, 0x328
sar eax, 5
cmp ax, 0xc3
jle 0x49edbf
cmp word [0x4b6d9c], cx
je 0x49edb3
cmp cx, 0xffff
mov word [0x4b6d9c], cx
jne 0x49ed85
mov eax, dword [0x74c7b0]
push 0
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x98]
jmp 0x49edad
movsx eax, cx
mov edx, dword [0x74c7b0]
lea ecx, [eax + eax*4]
mov edi, dword [edx]
lea eax, [eax + ecx*8]
mov ecx, dword [0x847288]
mov eax, dword [ecx + eax*4 + 0x94]
push eax
push 0
push edx
call dword [edi + 0x98]
inc dword [0x74c678]
push ebx
push esi
call fcn.00421d40
add esp, 8
xor eax, eax
mov ecx, dword [esi + 0x320]
lea edx, [eax + 1]
mov word [ecx], ax
mov ecx, dword [esi + 0x320]
add eax, 2
mov word [ecx + 2], dx
mov edx, dword [esi + 0x320]
mov word [edx + 4], ax
mov eax, dword [esi + 0x320]
add eax, 6
mov dword [esi + 0x320], eax
mov eax, dword [esi + 0x324]
lea ecx, [eax + 0x60]
mov dword [esi + 0x324], ecx
mov edx, dword [ebp + 0x50]
mov ecx, eax
add edx, 0x24
mov esi, dword [edx]
mov dword [ecx], esi
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov esi, dword [edx + 8]
mov dword [ecx + 8], esi
mov edx, dword [edx + 0xc]
mov dword [ecx + 0xc], edx
mov ecx, dword [ebp + 0x54]
add ecx, 0x24
lea edx, [eax + 0x20]
mov esi, dword [ecx]
mov dword [edx], esi
mov esi, dword [ecx + 4]
mov dword [edx + 4], esi
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp + 0x58]
add edx, 0x24
lea ecx, [eax + 0x40]
mov esi, dword [edx]
mov dword [ecx], esi
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov esi, dword [edx + 8]
mov dword [ecx + 8], esi
mov edx, dword [edx + 0xc]
mov dword [ecx + 0xc], edx
mov ecx, dword [ebp + 0x20]
mov dword [eax + 0x18], ecx
mov edx, dword [ebp + 0x24]
mov dword [eax + 0x1c], edx
mov ecx, dword [ebp + 0x28]
mov dword [eax + 0x38], ecx
mov edx, dword [ebp + 0x2c]
mov dword [eax + 0x3c], edx
mov ecx, dword [ebp + 0x30]
mov dword [eax + 0x58], ecx
mov ecx, dword [esp + 0x1c]
mov edx, dword [ebp + 0x34]
test ecx, ecx
mov dword [eax + 0x5c], edx
je 0x49efe0
mov edx, dword [ebp + 0x50]
xor ecx, ecx
mov cl, byte [ebp + 0x12]
mov edi, dword [edx + 0x44]
mov edx, 0xff
add ecx, edi
cmp ecx, edx
jle 0x49eea7
mov byte [eax + 0x12], dl
jmp 0x49eeb4
test ecx, ecx
jge 0x49eeb1
mov byte [eax + 0x12], 0
jmp 0x49eeb4
mov byte [eax + 0x12], cl
mov esi, dword [ebp + 0x50]
xor ecx, ecx
mov cl, byte [ebp + 0x11]
add ecx, dword [esi + 0x48]
cmp ecx, edx
jle 0x49eec8
mov byte [eax + 0x11], dl
jmp 0x49eed5
test ecx, ecx
jge 0x49eed2
mov byte [eax + 0x11], 0
jmp 0x49eed5
mov byte [eax + 0x11], cl
mov esi, dword [ebp + 0x50]
xor ecx, ecx
mov cl, byte [ebp + 0x10]
add ecx, dword [esi + 0x4c]
cmp ecx, edx
jle 0x49eee9
mov byte [eax + 0x10], dl
jmp 0x49eef6
test ecx, ecx
jge 0x49eef3
mov byte [eax + 0x10], 0
jmp 0x49eef6
mov byte [eax + 0x10], cl
mov cl, byte [ebp + 0x13]
mov byte [eax + 0x13], cl
mov esi, dword [ebp + 0x54]
xor ecx, ecx
mov cl, byte [ebp + 0x16]
mov edi, dword [esi + 0x44]
add ecx, edi
cmp ecx, edx
jle 0x49ef12
mov byte [eax + 0x32], dl
jmp 0x49ef1f
test ecx, ecx
jge 0x49ef1c
mov byte [eax + 0x32], 0
jmp 0x49ef1f
mov byte [eax + 0x32], cl
mov esi, dword [ebp + 0x54]
xor ecx, ecx
mov cl, byte [ebp + 0x15]
add ecx, dword [esi + 0x48]
cmp ecx, edx
jle 0x49ef33
mov byte [eax + 0x31], dl
jmp 0x49ef40
test ecx, ecx
jge 0x49ef3d
mov byte [eax + 0x31], 0
jmp 0x49ef40
mov byte [eax + 0x31], cl
mov esi, dword [ebp + 0x54]
xor ecx, ecx
mov cl, byte [ebp + 0x14]
add ecx, dword [esi + 0x4c]
cmp ecx, edx
jle 0x49ef54
mov byte [eax + 0x30], dl
jmp 0x49ef61
test ecx, ecx
jge 0x49ef5e
mov byte [eax + 0x30], 0
jmp 0x49ef61
mov byte [eax + 0x30], cl
mov cl, byte [ebp + 0x17]
mov byte [eax + 0x33], cl
mov esi, dword [ebp + 0x58]
xor ecx, ecx
mov cl, byte [ebp + 0x1a]
mov edi, dword [esi + 0x44]
add ecx, edi
cmp ecx, edx
jle 0x49ef7d
mov byte [eax + 0x52], dl
jmp 0x49ef8a
test ecx, ecx
jge 0x49ef87
mov byte [eax + 0x52], 0
jmp 0x49ef8a
mov byte [eax + 0x52], cl
mov esi, dword [ebp + 0x58]
xor ecx, ecx
mov cl, byte [ebp + 0x19]
add ecx, dword [esi + 0x48]
cmp ecx, edx
jle 0x49ef9e
mov byte [eax + 0x51], dl
jmp 0x49efab
test ecx, ecx
jge 0x49efa8
mov byte [eax + 0x51], 0
jmp 0x49efab
mov byte [eax + 0x51], cl
mov esi, dword [ebp + 0x58]
xor ecx, ecx
mov cl, byte [ebp + 0x18]
add ecx, dword [esi + 0x4c]
cmp ecx, edx
jle 0x49efc5
mov byte [eax + 0x50], dl
mov dl, byte [ebp + 0x1b]
mov byte [eax + 0x53], dl
jmp 0x49eff2
test ecx, ecx
jge 0x49efd5
mov byte [eax + 0x50], 0
mov dl, byte [ebp + 0x1b]
mov byte [eax + 0x53], dl
jmp 0x49eff2
mov byte [eax + 0x50], cl
mov dl, byte [ebp + 0x1b]
mov byte [eax + 0x53], dl
jmp 0x49eff2
mov ecx, dword [ebp + 0x10]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp + 0x14]
mov dword [eax + 0x30], edx
mov ecx, dword [ebp + 0x18]
mov dword [eax + 0x50], ecx
cmp word [0x86e2a4], 0
je 0x49f017
mov edx, dword [ebp + 0x50]
mov ecx, dword [edx + 0x38]
mov dword [eax + 0x14], ecx
mov edx, dword [ebp + 0x54]
mov ecx, dword [edx + 0x38]
mov dword [eax + 0x34], ecx
mov edx, dword [ebp + 0x58]
mov ecx, dword [edx + 0x38]
mov dword [eax + 0x54], ecx
mov dx, word [ebp]
mov ecx, dword [0x86e268]
and edx, ecx
test dx, dx
je 0x49f0c2
mov eax, dword [0x86e274]
test ebx, ebx
jne 0x49f03a
mov eax, dword [0x86e27c]
mov ecx, dword [eax + 0x3e84]
sub ecx, eax
sub ecx, 0x3e88
sar ecx, 5
cmp cx, 0xf9c
jg 0x49f0c2
mov edx, dword [eax + 0x3e80]
mov word [edx], cx
mov esi, dword [eax + 0x3e80]
lea edx, [ecx + 1]
add ecx, 2
mov word [esi + 2], dx
mov edx, dword [eax + 0x3e80]
mov word [edx + 4], cx
mov edx, dword [eax + 0x3e84]
mov ebx, dword [eax + 0x3e80]
mov edi, edx
add ebx, 6
lea ecx, [edx + 0x60]
mov dword [eax + 0x3e80], ebx
mov dword [eax + 0x3e84], ecx
mov esi, dword [ebp + 0x50]
mov ecx, 8
add esi, 0x24
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x54]
lea edi, [edx + 0x20]
add esi, 0x24
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x58]
lea edi, [edx + 0x40]
add esi, 0x24
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x6b94c4]
mov eax, dword [esp + 0x10]
add ebp, 0x60
dec eax
mov dword [esp + 0x10], eax
jne 0x49ec00
mov edx, dword [esp + 0x18]
movsx eax, word [edx + 0xc]
test eax, eax
je 0x49f664
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
mov ebx, dword [0x84d9c0]
mov edx, dword [ebp + 0xc]
mov edi, dword [0x84d9c4]
and eax, ebx
and edx, edi
or eax, edx
jne 0x49f64e
test byte [ebp], 2
jne 0x49f145
fld dword [0x4d6740]
fmul dword [ebp + 0x48]
fld dword [0x4d673c]
fmul dword [ebp + 0x44]
faddp st(1)
fld dword [0x4d6738]
fmul dword [ebp + 0x40]
faddp st(1)
fadd dword [ebp + 0x4c]
fcomp dword [0x4b0004]
fnstsw ax
test ah, 0x41
je 0x49f64e
mov eax, dword [ebp + 0x58]
mov edx, dword [ebp + 0x5c]
mov edi, dword [eax + 0x58]
mov eax, dword [ebp + 0x50]
mov esi, dword [edx + 0x58]
mov edx, dword [ebp + 0x54]
mov eax, dword [eax + 0x58]
mov edx, dword [edx + 0x58]
mov ebx, eax
or ebx, edx
or ebx, edi
or ebx, esi
test bl, 0x10
jne 0x49f17e
and eax, edx
and eax, edi
and eax, esi
jne 0x49f64e
test al, 0x10
jne 0x49f64e
mov ax, word [ebp]
test al, 4
je 0x49f20b
cmp ecx, 0x578
jge 0x49f64e
movsx edx, word [0x86e2a4]
lea eax, [ecx + ecx*4]
shl eax, 3
sub eax, ecx
shl eax, 2
test ebx, ebx
mov dword [eax + 0x618264], edx
mov dword [eax + 0x61825c], 4
mov dword [eax + 0x618260], 0xffffffff
je 0x49f1d2
mov dword [eax + 0x618258], 8
jmp 0x49f1dc
mov dword [eax + 0x618258], 0xc
mov dx, word [ebp]
and edx, 0x100
shr edx, 8
mov dword [eax + 0x618268], edx
inc ecx
mov dword [eax + 0x61826c], 0
lea eax, [eax + 0x618274]
mov dword [0x6b94c4], ecx
jmp 0x49f2d9
mov esi, dword [0x86e28c]
test ebx, ebx
jne 0x49f21b
mov esi, dword [0x86e280]
mov ecx, dword [esi + 0x324]
mov eax, 0x2aaaaaab
sub ecx, esi
sub ecx, 0x328
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp dx, 0xc3
jle 0x49f277
or eax, 0xffffffff
cmp word [0x4b6d9c], ax
je 0x49f26b
mov word [0x4b6d9c], ax
mov eax, dword [0x74c7b0]
push 0
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x98]
inc dword [0x74c678]
push ebx
push esi
call fcn.00421c90
add esp, 8
xor edx, edx
mov eax, dword [esi + 0x320]
lea ecx, [edx + 1]
mov word [eax], dx
mov eax, dword [esi + 0x320]
mov word [eax + 2], cx
mov ecx, dword [esi + 0x320]
lea eax, [edx + 2]
mov word [ecx + 4], ax
mov ecx, dword [esi + 0x320]
mov word [ecx + 6], dx
mov ecx, dword [esi + 0x320]
add edx, 3
mov word [ecx + 8], ax
mov eax, dword [esi + 0x320]
mov word [eax + 0xa], dx
mov eax, dword [esi + 0x320]
add eax, 0xc
mov dword [esi + 0x320], eax
mov eax, dword [esi + 0x324]
lea ecx, [eax + 0x60]
mov dword [esi + 0x324], ecx
mov edx, dword [ebp + 0x50]
mov ecx, eax
add edx, 0x24
mov esi, dword [edx]
mov dword [ecx], esi
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov esi, dword [edx + 8]
mov dword [ecx + 8], esi
mov edx, dword [edx + 0xc]
mov dword [ecx + 0xc], edx
mov ecx, dword [ebp + 0x54]
add ecx, 0x24
lea edx, [eax + 0x18]
mov esi, dword [ecx]
mov dword [edx], esi
mov esi, dword [ecx + 4]
mov dword [edx + 4], esi
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp + 0x58]
add edx, 0x24
lea ecx, [eax + 0x30]
mov esi, dword [edx]
mov dword [ecx], esi
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov esi, dword [edx + 8]
mov dword [ecx + 8], esi
mov edx, dword [edx + 0xc]
mov dword [ecx + 0xc], edx
mov ecx, dword [ebp + 0x5c]
add ecx, 0x24
lea edx, [eax + 0x48]
mov esi, dword [ecx]
mov dword [edx], esi
mov esi, dword [ecx + 4]
mov dword [edx + 4], esi
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x49f51f
mov edx, dword [ebp + 0x50]
xor ecx, ecx
mov cl, byte [ebp + 0x12]
mov edi, dword [edx + 0x44]
mov edx, 0xff
add ecx, edi
cmp ecx, edx
jle 0x49f37b
mov byte [eax + 0x12], dl
jmp 0x49f388
test ecx, ecx
jge 0x49f385
mov byte [eax + 0x12], 0
jmp 0x49f388
mov byte [eax + 0x12], cl
mov esi, dword [ebp + 0x50]
xor ecx, ecx
mov cl, byte [ebp + 0x11]
add ecx, dword [esi + 0x48]
cmp ecx, edx
jle 0x49f39c
mov byte [eax + 0x11], dl
jmp 0x49f3a9
test ecx, ecx
jge 0x49f3a6
mov byte [eax + 0x11], 0
jmp 0x49f3a9
mov byte [eax + 0x11], cl
mov esi, dword [ebp + 0x50]
xor ecx, ecx
mov cl, byte [ebp + 0x10]
add ecx, dword [esi + 0x4c]
cmp ecx, edx
jle 0x49f3bd
mov byte [eax + 0x10], dl
jmp 0x49f3ca
test ecx, ecx
jge 0x49f3c7
mov byte [eax + 0x10], 0
jmp 0x49f3ca
mov byte [eax + 0x10], cl
mov cl, byte [ebp + 0x13]
mov byte [eax + 0x13], cl
mov esi, dword [ebp + 0x54]
xor ecx, ecx
mov cl, byte [ebp + 0x16]
mov edi, dword [esi + 0x44]
add ecx, edi
cmp ecx, edx
jle 0x49f3e6
mov byte [eax + 0x2a], dl
jmp 0x49f3f3
test ecx, ecx
jge 0x49f3f0
mov byte [eax + 0x2a], 0
jmp 0x49f3f3
mov byte [eax + 0x2a], cl
mov esi, dword [ebp + 0x54]
xor ecx, ecx
mov cl, byte [ebp + 0x15]
add ecx, dword [esi + 0x48]
cmp ecx, edx
jle 0x49f407
mov byte [eax + 0x29], dl
jmp 0x49f414
test ecx, ecx
jge 0x49f411
mov byte [eax + 0x29], 0
jmp 0x49f414
mov byte [eax + 0x29], cl
mov esi, dword [ebp + 0x54]
xor ecx, ecx
mov cl, byte [ebp + 0x14]
add ecx, dword [esi + 0x4c]
cmp ecx, edx
jle 0x49f428
mov byte [eax + 0x28], dl
jmp 0x49f435
test ecx, ecx
jge 0x49f432
mov byte [eax + 0x28], 0
jmp 0x49f435
mov byte [eax + 0x28], cl
mov cl, byte [ebp + 0x17]
mov byte [eax + 0x2b], cl
mov esi, dword [ebp + 0x58]
xor ecx, ecx
mov cl, byte [ebp + 0x1a]
mov edi, dword [esi + 0x44]
add ecx, edi
cmp ecx, edx
jle 0x49f451
mov byte [eax + 0x42], dl
jmp 0x49f45e
test ecx, ecx
jge 0x49f45b
mov byte [eax + 0x42], 0
jmp 0x49f45e
mov byte [eax + 0x42], cl
mov esi, dword [ebp + 0x58]
xor ecx, ecx
mov cl, byte [ebp + 0x19]
add ecx, dword [esi + 0x48]
cmp ecx, edx
jle 0x49f472
mov byte [eax + 0x41], dl
jmp 0x49f47f
test ecx, ecx
jge 0x49f47c
mov byte [eax + 0x41], 0
jmp 0x49f47f
mov byte [eax + 0x41], cl
mov esi, dword [ebp + 0x58]
xor ecx, ecx
mov cl, byte [ebp + 0x18]
add ecx, dword [esi + 0x4c]
cmp ecx, edx
jle 0x49f493
mov byte [eax + 0x40], dl
jmp 0x49f4a0
test ecx, ecx
jge 0x49f49d
mov byte [eax + 0x40], 0
jmp 0x49f4a0
mov byte [eax + 0x40], cl
mov cl, byte [ebp + 0x1b]
mov byte [eax + 0x43], cl
mov esi, dword [ebp + 0x5c]
xor ecx, ecx
mov cl, byte [ebp + 0x1e]
mov edi, dword [esi + 0x44]
add ecx, edi
cmp ecx, edx
jle 0x49f4bc
mov byte [eax + 0x5a], dl
jmp 0x49f4c9
test ecx, ecx
jge 0x49f4c6
mov byte [eax + 0x5a], 0
jmp 0x49f4c9
mov byte [eax + 0x5a], cl
mov esi, dword [ebp + 0x5c]
xor ecx, ecx
mov cl, byte [ebp + 0x1d]
add ecx, dword [esi + 0x48]
cmp ecx, edx
jle 0x49f4dd
mov byte [eax + 0x59], dl
jmp 0x49f4ea
test ecx, ecx
jge 0x49f4e7
mov byte [eax + 0x59], 0
jmp 0x49f4ea
mov byte [eax + 0x59], cl
mov esi, dword [ebp + 0x5c]
xor ecx, ecx
mov cl, byte [ebp + 0x1c]
add ecx, dword [esi + 0x4c]
cmp ecx, edx
jle 0x49f504
mov byte [eax + 0x58], dl
mov dl, byte [ebp + 0x1f]
mov byte [eax + 0x5b], dl
jmp 0x49f537
test ecx, ecx
jge 0x49f514
mov byte [eax + 0x58], 0
mov dl, byte [ebp + 0x1f]
mov byte [eax + 0x5b], dl
jmp 0x49f537
mov byte [eax + 0x58], cl
mov dl, byte [ebp + 0x1f]
mov byte [eax + 0x5b], dl
jmp 0x49f537
mov ecx, dword [ebp + 0x10]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp + 0x14]
mov dword [eax + 0x28], edx
mov ecx, dword [ebp + 0x18]
mov dword [eax + 0x40], ecx
mov edx, dword [ebp + 0x1c]
mov dword [eax + 0x58], edx
cmp word [0x86e2a4], 0
je 0x49f565
mov ecx, dword [ebp + 0x50]
mov edx, dword [ecx + 0x38]
mov dword [eax + 0x14], edx
mov ecx, dword [ebp + 0x54]
mov edx, dword [ecx + 0x38]
mov dword [eax + 0x2c], edx
mov ecx, dword [ebp + 0x58]
mov edx, dword [ecx + 0x38]
mov dword [eax + 0x44], edx
mov ecx, dword [ebp + 0x5c]
mov edx, dword [ecx + 0x38]
mov dword [eax + 0x5c], edx
mov ax, word [ebp]
mov edx, dword [0x86e268]
and eax, edx
test ax, ax
je 0x49f648
mov eax, dword [0x86e274]
test ebx, ebx
jne 0x49f588
mov eax, dword [0x86e27c]
mov ecx, dword [eax + 0x3e84]
sub ecx, eax
sub ecx, 0x3e88
sar ecx, 5
cmp cx, 0xf9c
jg 0x49f648
mov edx, dword [eax + 0x3e80]
mov word [edx], cx
mov esi, dword [eax + 0x3e80]
lea edx, [ecx + 1]
mov word [esi + 2], dx
mov esi, dword [eax + 0x3e80]
lea edx, [ecx + 2]
mov word [esi + 4], dx
mov esi, dword [eax + 0x3e80]
mov word [esi + 6], cx
mov esi, dword [eax + 0x3e80]
add ecx, 3
mov word [esi + 8], dx
mov edx, dword [eax + 0x3e80]
mov word [edx + 0xa], cx
mov ecx, dword [eax + 0x3e80]
mov edx, dword [eax + 0x3e84]
add ecx, 0xc
mov dword [eax + 0x3e80], ecx
mov edi, edx
lea ecx, [edx + 0x80]
mov dword [eax + 0x3e84], ecx
mov esi, dword [ebp + 0x50]
add esi, 0x24
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x54]
lea edi, [edx + 0x20]
add esi, 0x24
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x58]
lea edi, [edx + 0x40]
add esi, 0x24
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x5c]
lea edi, [edx + 0x60]
add esi, 0x24
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x6b94c4]
mov eax, dword [esp + 0x10]
add ebp, 0x60
dec eax
mov dword [esp + 0x10], eax
jne 0x49f0ee
mov edx, dword [esp + 0x18]
movsx eax, word [edx + 0xe]
test eax, eax
je 0x49faea
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 8]
mov ebx, dword [0x84d9c0]
mov edx, dword [ebp + 0xc]
mov edi, dword [0x84d9c4]
and eax, ebx
and edx, edi
or eax, edx
jne 0x49fad8
mov dx, word [ebp]
test dl, 2
jne 0x49f6ce
fld dword [0x4d6740]
fmul dword [ebp + 0x48]
fld dword [0x4d673c]
fmul dword [ebp + 0x44]
faddp st(1)
fld dword [0x4d6738]
fmul dword [ebp + 0x40]
faddp st(1)
fadd dword [ebp + 0x4c]
fcomp dword [0x4b0004]
fnstsw ax
test ah, 0x41
je 0x49fad8
mov eax, dword [ebp + 0x58]
mov esi, dword [eax + 0x58]
mov eax, dword [ebp + 0x54]
mov edi, dword [eax + 0x58]
mov eax, dword [ebp + 0x50]
mov eax, dword [eax + 0x58]
mov ebx, eax
or ebx, edi
or ebx, esi
test bl, 0x10
jne 0x49f6fd
and eax, edi
and eax, esi
jne 0x49fad8
test al, 0x10
jne 0x49fad8
test dl, 4
je 0x49f787
cmp ecx, 0x578
jge 0x49fad8
movsx edx, word [0x86e2a4]
lea eax, [ecx + ecx*4]
shl eax, 3
sub eax, ecx
shl eax, 2
test ebx, ebx
mov dword [eax + 0x618264], edx
mov dword [eax + 0x61825c], 3
mov dword [eax + 0x618260], 0xffffffff
je 0x49f74e
mov dword [eax + 0x618258], 8
jmp 0x49f758
mov dword [eax + 0x618258], 0xc
mov dx, word [ebp]
and edx, 0x100
shr edx, 8
mov dword [eax + 0x618268], edx
inc ecx
mov dword [eax + 0x61826c], 0
lea eax, [eax + 0x618274]
mov dword [0x6b94c4], ecx
jmp 0x49f834
mov esi, dword [0x86e28c]
test ebx, ebx
jne 0x49f797
mov esi, dword [0x86e280]
mov ecx, dword [esi + 0x324]
mov eax, 0x2aaaaaab
sub ecx, esi
sub ecx, 0x328
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp dx, 0xc3
jle 0x49f7f3
or eax, 0xffffffff
cmp word [0x4b6d9c], ax
je 0x49f7e7
mov word [0x4b6d9c], ax
mov eax, dword [0x74c7b0]
push 0
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x98]
inc dword [0x74c678]
push ebx
push esi
call fcn.00421c90
add esp, 8
xor edx, edx
mov eax, dword [esi + 0x320]
lea ecx, [edx + 1]
mov word [eax], dx
mov eax, dword [esi + 0x320]
add edx, 2
mov word [eax + 2], cx
mov ecx, dword [esi + 0x320]
mov word [ecx + 4], dx
mov eax, dword [esi + 0x320]
add eax, 6
mov dword [esi + 0x320], eax
mov eax, dword [esi + 0x324]
lea edx, [eax + 0x48]
mov dword [esi + 0x324], edx
mov ecx, dword [ebp + 0x50]
mov edx, eax
add ecx, 0x24
mov esi, dword [ecx]
mov dword [edx], esi
mov esi, dword [ecx + 4]
mov dword [edx + 4], esi
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp + 0x54]
add edx, 0x24
lea ecx, [eax + 0x18]
mov esi, dword [edx]
mov dword [ecx], esi
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov esi, dword [edx + 8]
mov dword [ecx + 8], esi
mov edx, dword [edx + 0xc]
mov dword [ecx + 0xc], edx
mov ecx, dword [ebp + 0x58]
add ecx, 0x24
lea edx, [eax + 0x30]
mov esi, dword [ecx]
mov dword [edx], esi
mov esi, dword [ecx + 4]
mov dword [edx + 4], esi
mov esi, dword [ecx + 8]
mov dword [edx + 8], esi
mov ecx, dword [ecx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x49f9f0
mov edx, dword [ebp + 0x50]
xor ecx, ecx
mov cl, byte [ebp + 0x12]
mov edi, dword [edx + 0x44]
mov edx, 0xff
add ecx, edi
cmp ecx, edx
jle 0x49f8b7
mov byte [eax + 0x12], dl
jmp 0x49f8c4
test ecx, ecx
jge 0x49f8c1
mov byte [eax + 0x12], 0
jmp 0x49f8c4
mov byte [eax + 0x12], cl
mov esi, dword [ebp + 0x50]
xor ecx, ecx
mov cl, byte [ebp + 0x11]
add ecx, dword [esi + 0x48]
cmp ecx, edx
jle 0x49f8d8
mov byte [eax + 0x11], dl
jmp 0x49f8e5
test ecx, ecx
jge 0x49f8e2
mov byte [eax + 0x11], 0
jmp 0x49f8e5
mov byte [eax + 0x11], cl
mov esi, dword [ebp + 0x50]
xor ecx, ecx
mov cl, byte [ebp + 0x10]
add ecx, dword [esi + 0x4c]
cmp ecx, edx
jle 0x49f8f9
mov byte [eax + 0x10], dl
jmp 0x49f906
test ecx, ecx
jge 0x49f903
mov byte [eax + 0x10], 0
jmp 0x49f906
mov byte [eax + 0x10], cl
mov cl, byte [ebp + 0x13]
mov byte [eax + 0x13], cl
mov esi, dword [ebp + 0x54]
xor ecx, ecx
mov cl, byte [ebp + 0x16]
mov edi, dword [esi + 0x44]
add ecx, edi
cmp ecx, edx
jle 0x49f922
mov byte [eax + 0x2a], dl
jmp 0x49f92f
test ecx, ecx
jge 0x49f92c
mov byte [eax + 0x2a], 0
jmp 0x49f92f
mov byte [eax + 0x2a], cl
mov esi, dword [ebp + 0x54]
xor ecx, ecx
mov cl, byte [ebp + 0x15]
add ecx, dword [esi + 0x48]
cmp ecx, edx
jle 0x49f943
mov byte [eax + 0x29], dl
jmp 0x49f950
test ecx, ecx
jge 0x49f94d
mov byte [eax + 0x29], 0
jmp 0x49f950
mov byte [eax + 0x29], cl
mov esi, dword [ebp + 0x54]
xor ecx, ecx
mov cl, byte [ebp + 0x14]
add ecx, dword [esi + 0x4c]
cmp ecx, edx
jle 0x49f964
mov byte [eax + 0x28], dl
jmp 0x49f971
test ecx, ecx
jge 0x49f96e
mov byte [eax + 0x28], 0
jmp 0x49f971
mov byte [eax + 0x28], cl
mov cl, byte [ebp + 0x17]
mov byte [eax + 0x2b], cl
mov esi, dword [ebp + 0x58]
xor ecx, ecx
mov cl, byte [ebp + 0x1a]
mov edi, dword [esi + 0x44]
add ecx, edi
cmp ecx, edx
jle 0x49f98d
mov byte [eax + 0x42], dl
jmp 0x49f99a
test ecx, ecx
jge 0x49f997
mov byte [eax + 0x42], 0
jmp 0x49f99a
mov byte [eax + 0x42], cl
mov esi, dword [ebp + 0x58]
xor ecx, ecx
mov cl, byte [ebp + 0x19]
add ecx, dword [esi + 0x48]
cmp ecx, edx
jle 0x49f9ae
mov byte [eax + 0x41], dl
jmp 0x49f9bb
test ecx, ecx
jge 0x49f9b8
mov byte [eax + 0x41], 0
jmp 0x49f9bb
mov byte [eax + 0x41], cl
mov esi, dword [ebp + 0x58]
xor ecx, ecx
mov cl, byte [ebp + 0x18]
add ecx, dword [esi + 0x4c]
cmp ecx, edx
jle 0x49f9d5
mov byte [eax + 0x40], dl
mov dl, byte [ebp + 0x1b]
mov byte [eax + 0x43], dl
jmp 0x49fa02
test ecx, ecx
jge 0x49f9e5
mov byte [eax + 0x40], 0
mov dl, byte [ebp + 0x1b]
mov byte [eax + 0x43], dl
jmp 0x49fa02
mov byte [eax + 0x40], cl
mov dl, byte [ebp + 0x1b]
mov byte [eax + 0x43], dl
jmp 0x49fa02
mov ecx, dword [ebp + 0x10]
mov dword [eax + 0x10], ecx
mov edx, dword [ebp + 0x14]
mov dword [eax + 0x28], edx
mov ecx, dword [ebp + 0x18]
mov dword [eax + 0x40], ecx
cmp word [0x86e2a4], 0
je 0x49fa27
mov edx, dword [ebp + 0x50]
mov ecx, dword [edx + 0x38]
mov dword [eax + 0x14], ecx
mov edx, dword [ebp + 0x54]
mov ecx, dword [edx + 0x38]
mov dword [eax + 0x2c], ecx
mov edx, dword [ebp + 0x58]
mov ecx, dword [edx + 0x38]
mov dword [eax + 0x44], ecx
mov dx, word [ebp]
mov ecx, dword [0x86e268]
and edx, ecx
test dx, dx
je 0x49fad2
mov eax, dword [0x86e274]
test ebx, ebx
jne 0x49fa4a
mov eax, dword [0x86e27c]
mov ecx, dword [eax + 0x3e84]
sub ecx, eax
sub ecx, 0x3e88
sar ecx, 5
cmp cx, 0xf9c
jg 0x49fad2
mov edx, dword [eax + 0x3e80]
mov word [edx], cx
mov esi, dword [eax + 0x3e80]
lea edx, [ecx + 1]
add ecx, 2
mov word [esi + 2], dx
mov edx, dword [eax + 0x3e80]
mov word [edx + 4], cx
mov edx, dword [eax + 0x3e84]
mov ebx, dword [eax + 0x3e80]
mov edi, edx
add ebx, 6
lea ecx, [edx + 0x60]
mov dword [eax + 0x3e80], ebx
mov dword [eax + 0x3e84], ecx
mov esi, dword [ebp + 0x50]
mov ecx, 8
add esi, 0x24
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x54]
lea edi, [edx + 0x20]
add esi, 0x24
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x58]
lea edi, [edx + 0x40]
add esi, 0x24
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x6b94c4]
mov eax, dword [esp + 0x18]
add ebp, 0x60
dec eax
mov dword [esp + 0x18], eax
jne 0x49f674
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret