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

Disassembly:
push ecx
mov edx, dword [esp + 8]
push ebx
mov ebx, dword [0x86e27c]
push ebp
movsx eax, word [edx + 8]
mov ebp, dword [edx + 0x20]
push esi
test eax, eax
push edi
je 0x4a174f
mov ecx, dword [0x6b94c4]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
mov edx, dword [0x84d9c0]
mov edi, dword [0x84d9c4]
and eax, edx
mov edx, dword [ebp + 0xc]
and edx, edi
or eax, edx
jne 0x4a1654
mov dx, word [ebp]
test dl, 2
jne 0x4a1117
mov esi, dword [ebp + 0x58]
mov eax, dword [ebp + 0x54]
mov edi, dword [ebp + 0x50]
fld dword [esi + 0x28]
fsub dword [eax + 0x28]
fld dword [edi + 0x24]
fsub dword [eax + 0x24]
fmulp st(1)
fld dword [esi + 0x24]
fsub dword [eax + 0x24]
fld dword [edi + 0x28]
fsub dword [eax + 0x28]
fmulp st(1)
fsubp st(1)
fcomp dword [0x4b0004]
fnstsw ax
test ah, 0x41
je 0x4a1654
test dl, 4
je 0x4a118d
cmp ecx, 0x578
jge 0x4a1654
movsx edx, word [0x86e2a4]
lea eax, [ecx + ecx*4]
shl eax, 3
sub eax, ecx
shl eax, 2
mov dword [eax + 0x618264], edx
mov dword [eax + 0x61825c], 4
movsx edx, word [ebp + 2]
mov dword [eax + 0x618260], edx
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 0x4a128a
mov dx, word [ebp + 2]
movsx eax, dx
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*8]
lea eax, [eax + ecx*4]
mov ecx, dword [0x86e26c]
lea esi, [ecx + eax*8]
mov eax, dword [ecx + eax*8 + 0x324]
sub eax, esi
sub eax, 0x328
sar eax, 5
cmp ax, 0xc3
jle 0x4a1225
cmp word [0x4b6d9c], dx
je 0x4a1218
cmp dx, 0xffff
mov word [0x4b6d9c], dx
jne 0x4a11ea
mov eax, dword [0x74c7b0]
push 0
push 0
push eax
mov edx, dword [eax]
call dword [edx + 0x98]
jmp 0x4a1212
movsx eax, dx
mov ecx, dword [0x74c7b0]
lea edx, [eax + eax*4]
mov edi, dword [ecx]
lea eax, [eax + edx*8]
mov edx, dword [0x847288]
mov eax, dword [edx + eax*4 + 0x94]
push eax
push 0
push ecx
call dword [edi + 0x98]
inc dword [0x74c678]
push 0
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 0x4a1535
mov edx, dword [ebp + 0x50]
xor ecx, ecx
mov cl, byte [ebp + 0x12]
add ecx, dword [edx + 0x44]
cmp ecx, 0xff
jle 0x4a135a
mov byte [eax + 0x12], 0xff
jmp 0x4a1367
test ecx, ecx
jge 0x4a1364
mov byte [eax + 0x12], 0
jmp 0x4a1367
mov byte [eax + 0x12], cl
mov edx, dword [ebp + 0x50]
xor ecx, ecx
mov cl, byte [ebp + 0x11]
add ecx, dword [edx + 0x48]
cmp ecx, 0xff
jle 0x4a1380
mov byte [eax + 0x11], 0xff
jmp 0x4a138d
test ecx, ecx
jge 0x4a138a
mov byte [eax + 0x11], 0
jmp 0x4a138d
mov byte [eax + 0x11], cl
mov edx, dword [ebp + 0x50]
xor ecx, ecx
mov cl, byte [ebp + 0x10]
add ecx, dword [edx + 0x4c]
cmp ecx, 0xff
jle 0x4a13a6
mov byte [eax + 0x10], 0xff
jmp 0x4a13b3
test ecx, ecx
jge 0x4a13b0
mov byte [eax + 0x10], 0
jmp 0x4a13b3
mov byte [eax + 0x10], cl
mov cl, byte [ebp + 0x13]
mov byte [eax + 0x13], cl
mov edx, dword [ebp + 0x54]
xor ecx, ecx
mov cl, byte [ebp + 0x16]
mov esi, dword [edx + 0x44]
add ecx, esi
cmp ecx, 0xff
jle 0x4a13d4
mov byte [eax + 0x32], 0xff
jmp 0x4a13e1
test ecx, ecx
jge 0x4a13de
mov byte [eax + 0x32], 0
jmp 0x4a13e1
mov byte [eax + 0x32], cl
mov edx, dword [ebp + 0x54]
xor ecx, ecx
mov cl, byte [ebp + 0x15]
add ecx, dword [edx + 0x48]
cmp ecx, 0xff
jle 0x4a13fa
mov byte [eax + 0x31], 0xff
jmp 0x4a1407
test ecx, ecx
jge 0x4a1404
mov byte [eax + 0x31], 0
jmp 0x4a1407
mov byte [eax + 0x31], cl
mov edx, dword [ebp + 0x54]
xor ecx, ecx
mov cl, byte [ebp + 0x14]
add ecx, dword [edx + 0x4c]
cmp ecx, 0xff
jle 0x4a1420
mov byte [eax + 0x30], 0xff
jmp 0x4a142d
test ecx, ecx
jge 0x4a142a
mov byte [eax + 0x30], 0
jmp 0x4a142d
mov byte [eax + 0x30], cl
mov cl, byte [ebp + 0x17]
mov byte [eax + 0x33], cl
mov edx, dword [ebp + 0x58]
xor ecx, ecx
mov cl, byte [ebp + 0x1a]
mov esi, dword [edx + 0x44]
add ecx, esi
cmp ecx, 0xff
jle 0x4a144e
mov byte [eax + 0x52], 0xff
jmp 0x4a145b
test ecx, ecx
jge 0x4a1458
mov byte [eax + 0x52], 0
jmp 0x4a145b
mov byte [eax + 0x52], cl
mov edx, dword [ebp + 0x58]
xor ecx, ecx
mov cl, byte [ebp + 0x19]
add ecx, dword [edx + 0x48]
cmp ecx, 0xff
jle 0x4a1474
mov byte [eax + 0x51], 0xff
jmp 0x4a1481
test ecx, ecx
jge 0x4a147e
mov byte [eax + 0x51], 0
jmp 0x4a1481
mov byte [eax + 0x51], cl
mov edx, dword [ebp + 0x58]
xor ecx, ecx
mov cl, byte [ebp + 0x18]
add ecx, dword [edx + 0x4c]
cmp ecx, 0xff
jle 0x4a149a
mov byte [eax + 0x50], 0xff
jmp 0x4a14a7
test ecx, ecx
jge 0x4a14a4
mov byte [eax + 0x50], 0
jmp 0x4a14a7
mov byte [eax + 0x50], cl
mov cl, byte [ebp + 0x1b]
mov byte [eax + 0x53], cl
mov edx, dword [ebp + 0x5c]
xor ecx, ecx
mov cl, byte [ebp + 0x1e]
mov esi, dword [edx + 0x44]
add ecx, esi
cmp ecx, 0xff
jle 0x4a14c8
mov byte [eax + 0x72], 0xff
jmp 0x4a14d5
test ecx, ecx
jge 0x4a14d2
mov byte [eax + 0x72], 0
jmp 0x4a14d5
mov byte [eax + 0x72], cl
mov edx, dword [ebp + 0x5c]
xor ecx, ecx
mov cl, byte [ebp + 0x1d]
add ecx, dword [edx + 0x48]
cmp ecx, 0xff
jle 0x4a14ee
mov byte [eax + 0x71], 0xff
jmp 0x4a14fb
test ecx, ecx
jge 0x4a14f8
mov byte [eax + 0x71], 0
jmp 0x4a14fb
mov byte [eax + 0x71], cl
mov edx, dword [ebp + 0x5c]
xor ecx, ecx
mov cl, byte [ebp + 0x1c]
add ecx, dword [edx + 0x4c]
cmp ecx, 0xff
jle 0x4a151a
mov byte [eax + 0x70], 0xff
mov cl, byte [ebp + 0x1f]
mov byte [eax + 0x73], cl
jmp 0x4a154d
test ecx, ecx
jge 0x4a152a
mov byte [eax + 0x70], 0
mov cl, byte [ebp + 0x1f]
mov byte [eax + 0x73], cl
jmp 0x4a154d
mov byte [eax + 0x70], cl
mov cl, byte [ebp + 0x1f]
mov byte [eax + 0x73], cl
jmp 0x4a154d
mov edx, dword [ebp + 0x10]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp + 0x14]
mov dword [eax + 0x30], ecx
mov edx, dword [ebp + 0x18]
mov dword [eax + 0x50], edx
mov ecx, dword [ebp + 0x1c]
mov dword [eax + 0x70], ecx
cmp word [0x86e2a4], 0
je 0x4a157b
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 edx, dword [ebp + 0x5c]
mov ecx, dword [edx + 0x38]
mov dword [eax + 0x74], ecx
mov dx, word [ebp]
mov ecx, dword [0x86e268]
and edx, ecx
test dx, dx
je 0x4a164e
mov eax, dword [ebx + 0x3e84]
sub eax, ebx
sub eax, 0x3e88
sar eax, 5
cmp ax, 0xf9c
jg 0x4a164e
mov ecx, dword [ebx + 0x3e80]
lea edx, [eax + 1]
mov word [ecx], ax
mov ecx, dword [ebx + 0x3e80]
mov word [ecx + 2], dx
mov edx, dword [ebx + 0x3e80]
lea ecx, [eax + 2]
mov word [edx + 4], cx
mov edx, dword [ebx + 0x3e80]
mov word [edx + 6], ax
mov edx, dword [ebx + 0x3e80]
add eax, 3
mov word [edx + 8], cx
mov ecx, dword [ebx + 0x3e80]
mov word [ecx + 0xa], ax
mov edx, dword [ebx + 0x3e80]
mov eax, dword [ebx + 0x3e84]
add edx, 0xc
mov dword [ebx + 0x3e80], edx
mov ecx, 8
lea edx, [eax + 0x80]
mov edi, eax
mov dword [ebx + 0x3e84], edx
mov esi, dword [ebp + 0x50]
add esi, 0x24
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x54]
lea edi, [eax + 0x20]
add esi, 0x24
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x58]
lea edi, [eax + 0x40]
add esi, 0x24
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x5c]
lea edi, [eax + 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 0x4a10b8
mov edx, dword [esp + 0x18]
movsx eax, word [edx + 0xa]
test eax, eax
je 0x4a1b23
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
mov edx, dword [0x84d9c0]
mov edi, dword [0x84d9c4]
and eax, edx
mov edx, dword [ebp + 0xc]
and edx, edi
or eax, edx
jne 0x4a1b11
mov dx, word [ebp]
test dl, 2
jne 0x4a16d9
mov esi, dword [ebp + 0x58]
mov eax, dword [ebp + 0x54]
mov edi, dword [ebp + 0x50]
fld dword [esi + 0x28]
fsub dword [eax + 0x28]
fld dword [edi + 0x24]
fsub dword [eax + 0x24]
fmulp st(1)
fld dword [esi + 0x24]
fsub dword [eax + 0x24]
fld dword [edi + 0x28]
fsub dword [eax + 0x28]
fmulp st(1)
fsubp st(1)
fcomp dword [0x4b0004]
fnstsw ax
test ah, 0x41
je 0x4a1b11
test dl, 4
je 0x4a175a
cmp ecx, 0x578
jge 0x4a1b11
movsx edx, word [0x86e2a4]
lea eax, [ecx + ecx*4]
shl eax, 3
sub eax, ecx
shl eax, 2
mov dword [eax + 0x618264], edx
mov dword [eax + 0x61825c], 3
movsx edx, word [ebp + 2]
mov dword [eax + 0x618260], edx
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 0x4a1833
mov ecx, dword [0x6b94c4]
jmp 0x4a166a
mov dx, word [ebp + 2]
movsx eax, dx
lea ecx, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*8]
lea eax, [eax + ecx*4]
mov ecx, dword [0x86e26c]
lea esi, [ecx + eax*8]
mov eax, dword [ecx + eax*8 + 0x324]
sub eax, esi
sub eax, 0x328
sar eax, 5
cmp ax, 0xc3
jle 0x4a17f2
cmp word [0x4b6d9c], dx
je 0x4a17e5
cmp dx, 0xffff
mov word [0x4b6d9c], dx
jne 0x4a17b7
mov eax, dword [0x74c7b0]
push 0
push 0
push eax
mov edx, dword [eax]
call dword [edx + 0x98]
jmp 0x4a17df
movsx eax, dx
mov ecx, dword [0x74c7b0]
lea edx, [eax + eax*4]
mov edi, dword [ecx]
lea eax, [eax + edx*8]
mov edx, dword [0x847288]
mov eax, dword [edx + eax*4 + 0x94]
push eax
push 0
push ecx
call dword [edi + 0x98]
inc dword [0x74c678]
push 0
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 0x4a1a39
mov edx, dword [ebp + 0x50]
xor ecx, ecx
mov cl, byte [ebp + 0x12]
add ecx, dword [edx + 0x44]
cmp ecx, 0xff
jle 0x4a18d8
mov byte [eax + 0x12], 0xff
jmp 0x4a18e5
test ecx, ecx
jge 0x4a18e2
mov byte [eax + 0x12], 0
jmp 0x4a18e5
mov byte [eax + 0x12], cl
mov edx, dword [ebp + 0x50]
xor ecx, ecx
mov cl, byte [ebp + 0x11]
add ecx, dword [edx + 0x48]
cmp ecx, 0xff
jle 0x4a18fe
mov byte [eax + 0x11], 0xff
jmp 0x4a190b
test ecx, ecx
jge 0x4a1908
mov byte [eax + 0x11], 0
jmp 0x4a190b
mov byte [eax + 0x11], cl
mov edx, dword [ebp + 0x50]
xor ecx, ecx
mov cl, byte [ebp + 0x10]
add ecx, dword [edx + 0x4c]
cmp ecx, 0xff
jle 0x4a1924
mov byte [eax + 0x10], 0xff
jmp 0x4a1931
test ecx, ecx
jge 0x4a192e
mov byte [eax + 0x10], 0
jmp 0x4a1931
mov byte [eax + 0x10], cl
mov cl, byte [ebp + 0x13]
mov byte [eax + 0x13], cl
mov edx, dword [ebp + 0x54]
xor ecx, ecx
mov cl, byte [ebp + 0x16]
mov esi, dword [edx + 0x44]
add ecx, esi
cmp ecx, 0xff
jle 0x4a1952
mov byte [eax + 0x32], 0xff
jmp 0x4a195f
test ecx, ecx
jge 0x4a195c
mov byte [eax + 0x32], 0
jmp 0x4a195f
mov byte [eax + 0x32], cl
mov edx, dword [ebp + 0x54]
xor ecx, ecx
mov cl, byte [ebp + 0x15]
add ecx, dword [edx + 0x48]
cmp ecx, 0xff
jle 0x4a1978
mov byte [eax + 0x31], 0xff
jmp 0x4a1985
test ecx, ecx
jge 0x4a1982
mov byte [eax + 0x31], 0
jmp 0x4a1985
mov byte [eax + 0x31], cl
mov edx, dword [ebp + 0x54]
xor ecx, ecx
mov cl, byte [ebp + 0x14]
add ecx, dword [edx + 0x4c]
cmp ecx, 0xff
jle 0x4a199e
mov byte [eax + 0x30], 0xff
jmp 0x4a19ab
test ecx, ecx
jge 0x4a19a8
mov byte [eax + 0x30], 0
jmp 0x4a19ab
mov byte [eax + 0x30], cl
mov cl, byte [ebp + 0x17]
mov byte [eax + 0x33], cl
mov edx, dword [ebp + 0x58]
xor ecx, ecx
mov cl, byte [ebp + 0x1a]
mov esi, dword [edx + 0x44]
add ecx, esi
cmp ecx, 0xff
jle 0x4a19cc
mov byte [eax + 0x52], 0xff
jmp 0x4a19d9
test ecx, ecx
jge 0x4a19d6
mov byte [eax + 0x52], 0
jmp 0x4a19d9
mov byte [eax + 0x52], cl
mov edx, dword [ebp + 0x58]
xor ecx, ecx
mov cl, byte [ebp + 0x19]
add ecx, dword [edx + 0x48]
cmp ecx, 0xff
jle 0x4a19f2
mov byte [eax + 0x51], 0xff
jmp 0x4a19ff
test ecx, ecx
jge 0x4a19fc
mov byte [eax + 0x51], 0
jmp 0x4a19ff
mov byte [eax + 0x51], cl
mov edx, dword [ebp + 0x58]
xor ecx, ecx
mov cl, byte [ebp + 0x18]
add ecx, dword [edx + 0x4c]
cmp ecx, 0xff
jle 0x4a1a1e
mov byte [eax + 0x50], 0xff
mov cl, byte [ebp + 0x1b]
mov byte [eax + 0x53], cl
jmp 0x4a1a4b
test ecx, ecx
jge 0x4a1a2e
mov byte [eax + 0x50], 0
mov cl, byte [ebp + 0x1b]
mov byte [eax + 0x53], cl
jmp 0x4a1a4b
mov byte [eax + 0x50], cl
mov cl, byte [ebp + 0x1b]
mov byte [eax + 0x53], cl
jmp 0x4a1a4b
mov edx, dword [ebp + 0x10]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp + 0x14]
mov dword [eax + 0x30], ecx
mov edx, dword [ebp + 0x18]
mov dword [eax + 0x50], edx
cmp word [0x86e2a4], 0
je 0x4a1a70
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 ax, word [ebp]
mov edx, dword [0x86e268]
and eax, edx
test ax, ax
je 0x4a1b0b
mov eax, dword [ebx + 0x3e84]
sub eax, ebx
sub eax, 0x3e88
sar eax, 5
cmp ax, 0xf9c
jg 0x4a1b0b
mov ecx, dword [ebx + 0x3e80]
lea edx, [eax + 1]
mov word [ecx], ax
mov ecx, dword [ebx + 0x3e80]
add eax, 2
mov word [ecx + 2], dx
mov edx, dword [ebx + 0x3e80]
mov word [edx + 4], ax
mov eax, dword [ebx + 0x3e80]
add eax, 6
mov dword [ebx + 0x3e80], eax
mov eax, dword [ebx + 0x3e84]
mov edi, eax
lea ecx, [eax + 0x60]
mov dword [ebx + 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, [eax + 0x20]
add esi, 0x24
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x58]
lea edi, [eax + 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 0x4a167a
mov edx, dword [esp + 0x18]
movsx eax, word [edx + 0xc]
test eax, eax
je 0x4a207c
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
mov edx, dword [0x84d9c0]
mov edi, dword [0x84d9c4]
and eax, edx
mov edx, dword [ebp + 0xc]
and edx, edi
or eax, edx
jne 0x4a206a
mov dx, word [ebp]
test dl, 2
jne 0x4a1b96
mov esi, dword [ebp + 0x58]
mov eax, dword [ebp + 0x54]
mov edi, dword [ebp + 0x50]
fld dword [esi + 0x28]
fsub dword [eax + 0x28]
fld dword [edi + 0x24]
fsub dword [eax + 0x24]
fmulp st(1)
fld dword [esi + 0x24]
fsub dword [eax + 0x24]
fld dword [edi + 0x28]
fsub dword [eax + 0x28]
fmulp st(1)
fsubp st(1)
fcomp dword [0x4b0004]
fnstsw ax
test ah, 0x41
je 0x4a206a
test dl, 4
je 0x4a1c0c
cmp ecx, 0x578
jge 0x4a206a
movsx edx, word [0x86e2a4]
lea eax, [ecx + ecx*4]
shl eax, 3
sub eax, ecx
shl eax, 2
mov dword [eax + 0x618264], edx
mov dword [eax + 0x61825c], 4
mov dword [eax + 0x618260], 0xffffffff
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 0x4a1cd0
mov esi, dword [0x86e280]
mov eax, 0x2aaaaaab
mov ecx, dword [esi + 0x324]
lea edi, [esi + 0x324]
sub ecx, esi
sub ecx, 0x328
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp dx, 0xc3
jle 0x4a1c76
cmp word [0x4b6d9c], 0xffff
je 0x4a1c69
mov eax, dword [0x74c7b0]
mov word [0x4b6d9c], 0xffff
push 0
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x98]
inc dword [0x74c678]
push 0
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 [edi]
lea ecx, [eax + 0x60]
mov dword [edi], 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 0x4a1f4b
mov edx, dword [ebp + 0x50]
xor ecx, ecx
mov cl, byte [ebp + 0x12]
add ecx, dword [edx + 0x44]
cmp ecx, 0xff
jle 0x4a1d70
mov byte [eax + 0x12], 0xff
jmp 0x4a1d7d
test ecx, ecx
jge 0x4a1d7a
mov byte [eax + 0x12], 0
jmp 0x4a1d7d
mov byte [eax + 0x12], cl
mov edx, dword [ebp + 0x50]
xor ecx, ecx
mov cl, byte [ebp + 0x11]
add ecx, dword [edx + 0x48]
cmp ecx, 0xff
jle 0x4a1d96
mov byte [eax + 0x11], 0xff
jmp 0x4a1da3
test ecx, ecx
jge 0x4a1da0
mov byte [eax + 0x11], 0
jmp 0x4a1da3
mov byte [eax + 0x11], cl
mov edx, dword [ebp + 0x50]
xor ecx, ecx
mov cl, byte [ebp + 0x10]
add ecx, dword [edx + 0x4c]
cmp ecx, 0xff
jle 0x4a1dbc
mov byte [eax + 0x10], 0xff
jmp 0x4a1dc9
test ecx, ecx
jge 0x4a1dc6
mov byte [eax + 0x10], 0
jmp 0x4a1dc9
mov byte [eax + 0x10], cl
mov cl, byte [ebp + 0x13]
mov byte [eax + 0x13], cl
mov edx, dword [ebp + 0x54]
xor ecx, ecx
mov cl, byte [ebp + 0x16]
mov esi, dword [edx + 0x44]
add ecx, esi
cmp ecx, 0xff
jle 0x4a1dea
mov byte [eax + 0x2a], 0xff
jmp 0x4a1df7
test ecx, ecx
jge 0x4a1df4
mov byte [eax + 0x2a], 0
jmp 0x4a1df7
mov byte [eax + 0x2a], cl
mov edx, dword [ebp + 0x54]
xor ecx, ecx
mov cl, byte [ebp + 0x15]
add ecx, dword [edx + 0x48]
cmp ecx, 0xff
jle 0x4a1e10
mov byte [eax + 0x29], 0xff
jmp 0x4a1e1d
test ecx, ecx
jge 0x4a1e1a
mov byte [eax + 0x29], 0
jmp 0x4a1e1d
mov byte [eax + 0x29], cl
mov edx, dword [ebp + 0x54]
xor ecx, ecx
mov cl, byte [ebp + 0x14]
add ecx, dword [edx + 0x4c]
cmp ecx, 0xff
jle 0x4a1e36
mov byte [eax + 0x28], 0xff
jmp 0x4a1e43
test ecx, ecx
jge 0x4a1e40
mov byte [eax + 0x28], 0
jmp 0x4a1e43
mov byte [eax + 0x28], cl
mov cl, byte [ebp + 0x17]
mov byte [eax + 0x2b], cl
mov edx, dword [ebp + 0x58]
xor ecx, ecx
mov cl, byte [ebp + 0x1a]
mov esi, dword [edx + 0x44]
add ecx, esi
cmp ecx, 0xff
jle 0x4a1e64
mov byte [eax + 0x42], 0xff
jmp 0x4a1e71
test ecx, ecx
jge 0x4a1e6e
mov byte [eax + 0x42], 0
jmp 0x4a1e71
mov byte [eax + 0x42], cl
mov edx, dword [ebp + 0x58]
xor ecx, ecx
mov cl, byte [ebp + 0x19]
add ecx, dword [edx + 0x48]
cmp ecx, 0xff
jle 0x4a1e8a
mov byte [eax + 0x41], 0xff
jmp 0x4a1e97
test ecx, ecx
jge 0x4a1e94
mov byte [eax + 0x41], 0
jmp 0x4a1e97
mov byte [eax + 0x41], cl
mov edx, dword [ebp + 0x58]
xor ecx, ecx
mov cl, byte [ebp + 0x18]
add ecx, dword [edx + 0x4c]
cmp ecx, 0xff
jle 0x4a1eb0
mov byte [eax + 0x40], 0xff
jmp 0x4a1ebd
test ecx, ecx
jge 0x4a1eba
mov byte [eax + 0x40], 0
jmp 0x4a1ebd
mov byte [eax + 0x40], cl
mov cl, byte [ebp + 0x1b]
mov byte [eax + 0x43], cl
mov edx, dword [ebp + 0x5c]
xor ecx, ecx
mov cl, byte [ebp + 0x1e]
mov esi, dword [edx + 0x44]
add ecx, esi
cmp ecx, 0xff
jle 0x4a1ede
mov byte [eax + 0x5a], 0xff
jmp 0x4a1eeb
test ecx, ecx
jge 0x4a1ee8
mov byte [eax + 0x5a], 0
jmp 0x4a1eeb
mov byte [eax + 0x5a], cl
mov edx, dword [ebp + 0x5c]
xor ecx, ecx
mov cl, byte [ebp + 0x1d]
add ecx, dword [edx + 0x48]
cmp ecx, 0xff
jle 0x4a1f04
mov byte [eax + 0x59], 0xff
jmp 0x4a1f11
test ecx, ecx
jge 0x4a1f0e
mov byte [eax + 0x59], 0
jmp 0x4a1f11
mov byte [eax + 0x59], cl
mov edx, dword [ebp + 0x5c]
xor ecx, ecx
mov cl, byte [ebp + 0x1c]
add ecx, dword [edx + 0x4c]
cmp ecx, 0xff
jle 0x4a1f30
mov byte [eax + 0x58], 0xff
mov cl, byte [ebp + 0x1f]
mov byte [eax + 0x5b], cl
jmp 0x4a1f63
test ecx, ecx
jge 0x4a1f40
mov byte [eax + 0x58], 0
mov cl, byte [ebp + 0x1f]
mov byte [eax + 0x5b], cl
jmp 0x4a1f63
mov byte [eax + 0x58], cl
mov cl, byte [ebp + 0x1f]
mov byte [eax + 0x5b], cl
jmp 0x4a1f63
mov edx, dword [ebp + 0x10]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp + 0x14]
mov dword [eax + 0x28], ecx
mov edx, dword [ebp + 0x18]
mov dword [eax + 0x40], edx
mov ecx, dword [ebp + 0x1c]
mov dword [eax + 0x58], ecx
cmp word [0x86e2a4], 0
je 0x4a1f91
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 edx, dword [ebp + 0x5c]
mov ecx, dword [edx + 0x38]
mov dword [eax + 0x5c], ecx
mov dx, word [ebp]
mov ecx, dword [0x86e268]
and edx, ecx
test dx, dx
je 0x4a2064
mov eax, dword [ebx + 0x3e84]
sub eax, ebx
sub eax, 0x3e88
sar eax, 5
cmp ax, 0xf9c
jg 0x4a2064
mov ecx, dword [ebx + 0x3e80]
lea edx, [eax + 1]
mov word [ecx], ax
mov ecx, dword [ebx + 0x3e80]
mov word [ecx + 2], dx
mov edx, dword [ebx + 0x3e80]
lea ecx, [eax + 2]
mov word [edx + 4], cx
mov edx, dword [ebx + 0x3e80]
mov word [edx + 6], ax
mov edx, dword [ebx + 0x3e80]
add eax, 3
mov word [edx + 8], cx
mov ecx, dword [ebx + 0x3e80]
mov word [ecx + 0xa], ax
mov edx, dword [ebx + 0x3e80]
mov eax, dword [ebx + 0x3e84]
add edx, 0xc
mov dword [ebx + 0x3e80], edx
mov ecx, 8
lea edx, [eax + 0x80]
mov edi, eax
mov dword [ebx + 0x3e84], edx
mov esi, dword [ebp + 0x50]
add esi, 0x24
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x54]
lea edi, [eax + 0x20]
add esi, 0x24
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x58]
lea edi, [eax + 0x40]
add esi, 0x24
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x5c]
lea edi, [eax + 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 0x4a1b37
mov eax, dword [esp + 0x18]
movsx eax, word [eax + 0xe]
test eax, eax
je 0x4a24d4
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 8]
mov edx, dword [0x84d9c0]
mov edi, dword [0x84d9c4]
and eax, edx
mov edx, dword [ebp + 0xc]
and edx, edi
or eax, edx
jne 0x4a24c2
mov dx, word [ebp]
test dl, 2
jne 0x4a20ef
mov esi, dword [ebp + 0x58]
mov eax, dword [ebp + 0x54]
mov edi, dword [ebp + 0x50]
fld dword [esi + 0x28]
fsub dword [eax + 0x28]
fld dword [edi + 0x24]
fsub dword [eax + 0x24]
fmulp st(1)
fld dword [esi + 0x24]
fsub dword [eax + 0x24]
fld dword [edi + 0x28]
fsub dword [eax + 0x28]
fmulp st(1)
fsubp st(1)
fcomp dword [0x4b0004]
fnstsw ax
test ah, 0x41
je 0x4a24c2
test dl, 4
je 0x4a2165
cmp ecx, 0x578
jge 0x4a24c2
movsx edx, word [0x86e2a4]
lea eax, [ecx + ecx*4]
shl eax, 3
sub eax, ecx
shl eax, 2
mov dword [eax + 0x618264], edx
mov dword [eax + 0x61825c], 3
mov dword [eax + 0x618260], 0xffffffff
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 0x4a2208
mov esi, dword [0x86e280]
mov eax, 0x2aaaaaab
mov ecx, dword [esi + 0x324]
lea edi, [esi + 0x324]
sub ecx, esi
sub ecx, 0x328
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp dx, 0xc3
jle 0x4a21cf
cmp word [0x4b6d9c], 0xffff
je 0x4a21c2
mov eax, dword [0x74c7b0]
mov word [0x4b6d9c], 0xffff
push 0
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x98]
inc dword [0x74c678]
push 0
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 [edi]
lea edx, [eax + 0x48]
mov dword [edi], 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 0x4a23ea
mov edx, dword [ebp + 0x50]
xor ecx, ecx
mov cl, byte [ebp + 0x12]
add ecx, dword [edx + 0x44]
cmp ecx, 0xff
jle 0x4a2289
mov byte [eax + 0x12], 0xff
jmp 0x4a2296
test ecx, ecx
jge 0x4a2293
mov byte [eax + 0x12], 0
jmp 0x4a2296
mov byte [eax + 0x12], cl
mov edx, dword [ebp + 0x50]
xor ecx, ecx
mov cl, byte [ebp + 0x11]
add ecx, dword [edx + 0x48]
cmp ecx, 0xff
jle 0x4a22af
mov byte [eax + 0x11], 0xff
jmp 0x4a22bc
test ecx, ecx
jge 0x4a22b9
mov byte [eax + 0x11], 0
jmp 0x4a22bc
mov byte [eax + 0x11], cl
mov edx, dword [ebp + 0x50]
xor ecx, ecx
mov cl, byte [ebp + 0x10]
add ecx, dword [edx + 0x4c]
cmp ecx, 0xff
jle 0x4a22d5
mov byte [eax + 0x10], 0xff
jmp 0x4a22e2
test ecx, ecx
jge 0x4a22df
mov byte [eax + 0x10], 0
jmp 0x4a22e2
mov byte [eax + 0x10], cl
mov cl, byte [ebp + 0x13]
mov byte [eax + 0x13], cl
mov edx, dword [ebp + 0x54]
xor ecx, ecx
mov cl, byte [ebp + 0x16]
mov esi, dword [edx + 0x44]
add ecx, esi
cmp ecx, 0xff
jle 0x4a2303
mov byte [eax + 0x2a], 0xff
jmp 0x4a2310
test ecx, ecx
jge 0x4a230d
mov byte [eax + 0x2a], 0
jmp 0x4a2310
mov byte [eax + 0x2a], cl
mov edx, dword [ebp + 0x54]
xor ecx, ecx
mov cl, byte [ebp + 0x15]
add ecx, dword [edx + 0x48]
cmp ecx, 0xff
jle 0x4a2329
mov byte [eax + 0x29], 0xff
jmp 0x4a2336
test ecx, ecx
jge 0x4a2333
mov byte [eax + 0x29], 0
jmp 0x4a2336
mov byte [eax + 0x29], cl
mov edx, dword [ebp + 0x54]
xor ecx, ecx
mov cl, byte [ebp + 0x14]
add ecx, dword [edx + 0x4c]
cmp ecx, 0xff
jle 0x4a234f
mov byte [eax + 0x28], 0xff
jmp 0x4a235c
test ecx, ecx
jge 0x4a2359
mov byte [eax + 0x28], 0
jmp 0x4a235c
mov byte [eax + 0x28], cl
mov cl, byte [ebp + 0x17]
mov byte [eax + 0x2b], cl
mov edx, dword [ebp + 0x58]
xor ecx, ecx
mov cl, byte [ebp + 0x1a]
mov esi, dword [edx + 0x44]
add ecx, esi
cmp ecx, 0xff
jle 0x4a237d
mov byte [eax + 0x42], 0xff
jmp 0x4a238a
test ecx, ecx
jge 0x4a2387
mov byte [eax + 0x42], 0
jmp 0x4a238a
mov byte [eax + 0x42], cl
mov edx, dword [ebp + 0x58]
xor ecx, ecx
mov cl, byte [ebp + 0x19]
add ecx, dword [edx + 0x48]
cmp ecx, 0xff
jle 0x4a23a3
mov byte [eax + 0x41], 0xff
jmp 0x4a23b0
test ecx, ecx
jge 0x4a23ad
mov byte [eax + 0x41], 0
jmp 0x4a23b0
mov byte [eax + 0x41], cl
mov edx, dword [ebp + 0x58]
xor ecx, ecx
mov cl, byte [ebp + 0x18]
add ecx, dword [edx + 0x4c]
cmp ecx, 0xff
jle 0x4a23cf
mov byte [eax + 0x40], 0xff
mov cl, byte [ebp + 0x1b]
mov byte [eax + 0x43], cl
jmp 0x4a23fc
test ecx, ecx
jge 0x4a23df
mov byte [eax + 0x40], 0
mov cl, byte [ebp + 0x1b]
mov byte [eax + 0x43], cl
jmp 0x4a23fc
mov byte [eax + 0x40], cl
mov cl, byte [ebp + 0x1b]
mov byte [eax + 0x43], cl
jmp 0x4a23fc
mov edx, dword [ebp + 0x10]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp + 0x14]
mov dword [eax + 0x28], ecx
mov edx, dword [ebp + 0x18]
mov dword [eax + 0x40], edx
cmp word [0x86e2a4], 0
je 0x4a2421
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 ax, word [ebp]
mov edx, dword [0x86e268]
and eax, edx
test ax, ax
je 0x4a24bc
mov eax, dword [ebx + 0x3e84]
sub eax, ebx
sub eax, 0x3e88
sar eax, 5
cmp ax, 0xf9c
jg 0x4a24bc
mov ecx, dword [ebx + 0x3e80]
lea edx, [eax + 1]
mov word [ecx], ax
mov ecx, dword [ebx + 0x3e80]
add eax, 2
mov word [ecx + 2], dx
mov edx, dword [ebx + 0x3e80]
mov word [edx + 4], ax
mov eax, dword [ebx + 0x3e80]
add eax, 6
mov dword [ebx + 0x3e80], eax
mov eax, dword [ebx + 0x3e84]
mov edi, eax
lea ecx, [eax + 0x60]
mov dword [ebx + 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, [eax + 0x20]
add esi, 0x24
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x58]
lea edi, [eax + 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 0x4a2090
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret