Function at 0x5c44b0
Capabilities:
Access peb ldr_data
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x6662fd
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3b4
push ebx
push esi
push edi
mov esi, ecx
xor edi, edi
lea ecx, [esp + 0x1a8]
mov dword [esp + 0x14], esi
mov dword [esp + 0x150], edi
call fcn.004c3d90
lea ecx, [esp + 0x1d4]
mov dword [esp + 0x3c8], 1
call fcn.004c3d90
lea ecx, [esp + 0x2a8]
mov byte [esp + 0x3c8], 2
call fcn.004c3d90
mov dword [esp + 0xc], edi
mov ecx, dword [ebp + 0x14]
or eax, 0xffffffff
mov edx, ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], eax
mov eax, dword [edx]
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], edi
mov ebx, dword [ebp + 0x18]
mov edi, dword [edx + 4]
add ecx, 0xc
mov dword [esp + 0x1bc], edi
lea edi, [ebx + 0xc]
mov edx, dword [edx + 8]
mov byte [esp + 0x3c8], 4
mov dword [esp + 0x1c0], edx
mov edx, dword [ecx]
mov dword [esp + 0x12c], edx
mov dword [esp + 0x1b8], eax
mov edx, dword [ecx + 4]
mov dword [esp + 0x130], edx
mov edx, dword [edi]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x134], ecx
mov ecx, dword [ebx]
cmp ecx, edx
jle 0x5c459d
mov dword [esp + 0x68], 1
jmp 0x5c45c9
jge 0x5c45a9
mov dword [esp + 0x68], 0xffffffff
jmp 0x5c45c9
mov ebx, dword [ebx + 4]
mov edi, dword [edi + 4]
cmp ebx, edi
jle 0x5c45bd
mov dword [esp + 0x68], 1
jmp 0x5c45c9
xor edx, edx
cmp ebx, edi
setge dl
dec edx
mov dword [esp + 0x68], edx
mov ecx, dword [esp + 0x12c]
mov dword [esi + 0xac], 0xffffffff
cmp eax, ecx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x90], eax
jg 0x5c5aef
test eax, eax
jl 0x5c5aef
cmp eax, dword [esi + 0x60]
jge 0x5c5aef
mov ecx, dword [esi + 0x5c]
mov ebx, dword [ecx + eax*4]
test ebx, ebx
mov dword [esp + 0x50], ebx
je 0x5c5ad8
mov dword [esp + 0x30], eax
mov ecx, dword [ebx + 0x34]
test ecx, ecx
mov dword [esp + 0x64], 0
jle 0x5c5ad8
mov edx, dword [ebx + 0x30]
mov eax, dword [esp + 0x64]
mov eax, dword [edx + eax*4]
test eax, eax
mov dword [esp + 0x6c], eax
je 0x5c5ab9
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x54]
call fcn.004c3d90
lea ecx, [esp + 0x1c4]
mov byte [esp + 0x3c8], 5
call fcn.004c3d90
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x1b8]
mov edx, dword [esp + 0x34]
cmp eax, ecx
mov byte [esp + 0x3c8], 6
jg 0x5c46ba
cmp eax, ecx
jl 0x5c5a94
mov ecx, dword [esp + 0x1bc]
cmp edx, ecx
jg 0x5c46ba
jl 0x5c5a94
mov ecx, dword [esp + 0x12c]
cmp eax, ecx
jg 0x5c5a94
jl 0x5c46d8
cmp edx, dword [esp + 0x130]
jg 0x5c5a94
mov esi, dword [ebp + 0x18]
mov ecx, 3
xor edx, edx
lea edi, [esi + 0xc]
repe cmpsd dword [esi], dword es:[edi]
je 0x5c57bd
mov edi, dword [ebp + 0x18]
mov ecx, dword [edi]
cmp eax, ecx
jg 0x5c470f
jl 0x5c57bd
mov edx, dword [edi + 4]
mov ecx, dword [esp + 0x34]
cmp ecx, edx
jg 0x5c4713
jl 0x5c57bd
jmp 0x5c4713
mov ecx, dword [esp + 0x34]
mov esi, dword [edi + 0xc]
lea edx, [edi + 0xc]
cmp eax, esi
jg 0x5c57bd
jl 0x5c472c
cmp ecx, dword [edx + 4]
jg 0x5c57bd
mov esi, dword [esp + 0x68]
test esi, esi
jne 0x5c4c03
mov edi, dword [ebp + 0x18]
mov esi, dword [esp + 0x14]
lea eax, [esp + 0x30]
push edi
push eax
lea ecx, [esp + 0x2f0]
push ebx
push ecx
mov ecx, esi
call fcn.005c7450
mov edx, dword [eax]
push edi
mov dword [esp + 0x1c], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x34]
mov edx, dword [eax + 8]
push ecx
mov dword [esp + 0x28], edx
lea edx, [esp + 0x180]
mov eax, dword [eax + 0xc]
push ebx
push edx
mov ecx, esi
mov dword [esp + 0x34], eax
call fcn.005c76f0
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x3cc], 7
call fcn.00498be0
lea ecx, [esp + 0x178]
mov byte [esp + 0x3c8], 6
call fcn.00498970
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5c48dc
mov ecx, dword [eax + 4]
test ecx, ecx
jle 0x5c48dc
mov eax, esi
mov edx, dword [eax + 0x34]
lea ebx, [eax + 0x34]
lea eax, [esp + 0x348]
mov ecx, ebx
push eax
call dword [edx + 4]
mov ecx, 5
mov edi, eax
lea esi, [esp + 0x3c]
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
je 0x5c4892
mov eax, dword [ebx]
lea ecx, [esp + 0x320]
push ecx
mov ecx, ebx
call dword [eax + 4]
mov ecx, 5
mov esi, eax
lea edi, [esp + 0x3c]
lea edx, [esp + 0x10]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x3c]
push edx
lea ecx, [esp + 0x184]
push eax
push ecx
mov dword [esp + 0x1c], 1
call fcn.004e55f0
add esp, 0xc
mov ecx, dword [eax]
mov byte [esp + 0x3c8], 8
test ecx, ecx
je 0x5c4845
add ecx, 0xc
mov dword [esp + 0xa4], ecx
jmp 0x5c4850
mov dword [esp + 0xa4], 0
mov eax, dword [eax]
xor esi, esi
cmp eax, esi
je 0x5c4864
mov edx, dword [eax + 4]
mov dword [esp + 0xa8], edx
jmp 0x5c486b
mov dword [esp + 0xa8], esi
lea eax, [esp + 0xa4]
lea ecx, [esp + 0x54]
push eax
call fcn.004c3f00
lea ecx, [esp + 0x180]
mov byte [esp + 0x3c8], 6
call fcn.00498970
jmp 0x5c4894
xor esi, esi
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x5c48b2
lea ecx, [eax + 0xc]
mov dword [esp + 0xec], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0xf0], edx
jmp 0x5c48c0
mov dword [esp + 0xec], esi
mov dword [esp + 0xf0], esi
lea eax, [esp + 0xec]
lea ecx, [esp + 0x54]
push eax
call fcn.004c3f00
mov ebx, dword [esp + 0x50]
mov edi, dword [ebp + 0x18]
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x30]
push edi
push ecx
lea edx, [esp + 0x1ac]
push ebx
push edx
mov ecx, esi
call fcn.005c7c50
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x3cc], 9
call fcn.00498be0
lea ecx, [esp + 0x1a4]
mov byte [esp + 0x3c8], 6
call fcn.00498970
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5c4a94
mov ecx, dword [eax + 4]
test ecx, ecx
jle 0x5c4a94
mov ecx, 5
lea edi, [esp + 0x244]
lea esi, [esp + 0x3c]
xor edx, edx
mov dword [esp + 0x244], 2
mov dword [esp + 0x248], 0x3f800000
mov dword [esp + 0x24c], 0x3f800000
mov dword [esp + 0x250], 0x3f800000
mov dword [esp + 0x254], 0
repe cmpsd dword [esi], dword es:[edi]
je 0x5c4a52
mov ecx, 5
lea esi, [esp + 0x21c]
lea edi, [esp + 0x3c]
mov dword [esp + 0x21c], 2
mov dword [esp + 0x220], 0x3f800000
mov dword [esp + 0x224], 0x3f800000
mov dword [esp + 0x228], 0x3f800000
mov dword [esp + 0x22c], edx
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x3c]
push eax
lea edx, [esp + 0x160]
push ecx
push edx
mov dword [esp + 0x1c], 1
call fcn.004e55f0
add esp, 0xc
mov ecx, dword [eax]
mov byte [esp + 0x3c8], 0xa
test ecx, ecx
je 0x5c4a01
add ecx, 0xc
mov dword [esp + 0xbc], ecx
jmp 0x5c4a0c
mov dword [esp + 0xbc], 0
mov eax, dword [eax]
test eax, eax
je 0x5c4a1e
mov eax, dword [eax + 4]
mov dword [esp + 0xc0], eax
jmp 0x5c4a29
mov dword [esp + 0xc0], 0
lea ecx, [esp + 0xbc]
push ecx
lea ecx, [esp + 0x58]
call fcn.004c3f00
lea ecx, [esp + 0x15c]
mov byte [esp + 0x3c8], 6
call fcn.00498970
mov eax, dword [esp + 0xc]
xor ecx, ecx
cmp eax, ecx
je 0x5c4a6e
lea edx, [eax + 0xc]
mov dword [esp + 0x10c], edx
mov eax, dword [eax + 4]
mov dword [esp + 0x110], eax
jmp 0x5c4a7c
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], ecx
lea ecx, [esp + 0x10c]
push ecx
lea ecx, [esp + 0x58]
call fcn.004c3f00
mov edi, dword [ebp + 0x18]
mov esi, dword [esp + 0x14]
lea eax, [edi + 0xc]
lea edx, [esp + 0x30]
push eax
push edx
lea eax, [esp + 0x194]
push ebx
push eax
mov ecx, esi
call fcn.005c79a0
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x3cc], 0xb
call fcn.00498be0
lea ecx, [esp + 0x18c]
mov byte [esp + 0x3c8], 6
call fcn.00498970
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5c54e1
mov ecx, dword [eax + 4]
test ecx, ecx
jle 0x5c54e1
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x370]
push eax
mov edx, dword [ecx + 0x34]
lea ebx, [ecx + 0x34]
mov ecx, ebx
call dword [edx + 4]
mov ecx, 5
mov edi, eax
lea esi, [esp + 0x3c]
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
je 0x5c4bbb
mov eax, dword [ebx]
lea ecx, [esp + 0x2f8]
push ecx
mov ecx, ebx
call dword [eax + 4]
mov ecx, 5
mov esi, eax
lea edi, [esp + 0x3c]
lea edx, [esp + 0x10]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x3c]
push edx
lea ecx, [esp + 0x13c]
push eax
push ecx
mov dword [esp + 0x1c], 1
call fcn.004e55f0
add esp, 0xc
mov ecx, dword [eax]
mov byte [esp + 0x3c8], 0xc
test ecx, ecx
je 0x5c4b6e
add ecx, 0xc
mov dword [esp + 0xcc], ecx
jmp 0x5c4b79
mov dword [esp + 0xcc], 0
mov eax, dword [eax]
xor esi, esi
cmp eax, esi
je 0x5c4b8d
mov edx, dword [eax + 4]
mov dword [esp + 0xd0], edx
jmp 0x5c4b94
mov dword [esp + 0xd0], esi
lea eax, [esp + 0xcc]
lea ecx, [esp + 0x54]
push eax
call fcn.004c3f00
lea ecx, [esp + 0x138]
mov byte [esp + 0x3c8], 6
call fcn.00498970
jmp 0x5c4bbd
xor esi, esi
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x5c4bdb
lea ecx, [eax + 0xc]
mov dword [esp + 0xfc], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x100], edx
jmp 0x5c4be9
mov dword [esp + 0xfc], esi
mov dword [esp + 0x100], esi
lea eax, [esp + 0xfc]
push eax
lea ecx, [esp + 0x58]
call fcn.004c3f00
mov ebx, dword [esp + 0x50]
jmp 0x5c54e1
mov esi, dword [edi]
cmp eax, esi
jg 0x5c4f7e
jl 0x5c4f7e
mov esi, dword [edi + 4]
cmp ecx, esi
jg 0x5c4f7e
jl 0x5c4f7e
mov edi, dword [ebp + 0x18]
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x30]
push edi
push ecx
lea edx, [esp + 0x2c0]
push ebx
push edx
mov ecx, esi
call fcn.005c7300
mov ecx, dword [eax]
push edi
mov dword [esp + 0x1c], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x20], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x178]
mov edx, dword [eax + 0xc]
lea eax, [esp + 0x34]
push eax
push ebx
push ecx
mov ecx, esi
mov dword [esp + 0x34], edx
call fcn.005c76f0
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x3cc], 0xd
call fcn.00498be0
lea ecx, [esp + 0x174]
mov byte [esp + 0x3c8], 6
call fcn.00498970
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5c4dc8
mov ecx, dword [eax + 4]
test ecx, ecx
jle 0x5c4dc8
mov edx, esi
lea ecx, [esp + 0x398]
push ecx
mov eax, dword [edx + 0x34]
lea ebx, [edx + 0x34]
mov ecx, ebx
call dword [eax + 4]
mov ecx, 5
mov edi, eax
lea esi, [esp + 0x3c]
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
je 0x5c4d7e
mov eax, dword [ebx]
lea ecx, [esp + 0x30c]
push ecx
mov ecx, ebx
call dword [eax + 4]
mov ecx, 5
mov esi, eax
lea edi, [esp + 0x3c]
lea edx, [esp + 0x10]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x3c]
push edx
lea ecx, [esp + 0x180]
push eax
push ecx
mov dword [esp + 0x1c], 1
call fcn.004e55f0
add esp, 0xc
mov ecx, dword [eax]
mov byte [esp + 0x3c8], 0xe
test ecx, ecx
je 0x5c4d31
add ecx, 0xc
mov dword [esp + 0xdc], ecx
jmp 0x5c4d3c
mov dword [esp + 0xdc], 0
mov eax, dword [eax]
xor esi, esi
cmp eax, esi
je 0x5c4d50
mov edx, dword [eax + 4]
mov dword [esp + 0xe0], edx
jmp 0x5c4d57
mov dword [esp + 0xe0], esi
lea eax, [esp + 0xdc]
lea ecx, [esp + 0x54]
push eax
call fcn.004c3f00
lea ecx, [esp + 0x17c]
mov byte [esp + 0x3c8], 6
call fcn.00498970
jmp 0x5c4d80
xor esi, esi
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x5c4d9e
lea ecx, [eax + 0xc]
mov dword [esp + 0x11c], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x120], edx
jmp 0x5c4dac
mov dword [esp + 0x11c], esi
mov dword [esp + 0x120], esi
lea eax, [esp + 0x11c]
lea ecx, [esp + 0x54]
push eax
call fcn.004c3f00
mov ebx, dword [esp + 0x50]
mov edi, dword [ebp + 0x18]
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x30]
push edi
push ecx
lea edx, [esp + 0x1a0]
push ebx
push edx
mov ecx, esi
call fcn.005c79a0
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x3cc], 0xf
call fcn.00498be0
lea ecx, [esp + 0x198]
mov byte [esp + 0x3c8], 6
call fcn.00498970
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5c54e1
mov ecx, dword [eax + 4]
test ecx, ecx
jle 0x5c54e1
mov ecx, 5
lea edi, [esp + 0x230]
lea esi, [esp + 0x3c]
xor edx, edx
mov dword [esp + 0x230], 2
mov dword [esp + 0x234], 0x3f800000
mov dword [esp + 0x238], 0x3f800000
mov dword [esp + 0x23c], 0x3f800000
mov dword [esp + 0x240], 0
repe cmpsd dword [esi], dword es:[edi]
je 0x5c4f3e
mov ecx, 5
lea esi, [esp + 0x26c]
lea edi, [esp + 0x3c]
mov dword [esp + 0x26c], 2
mov dword [esp + 0x270], 0x3f800000
mov dword [esp + 0x274], 0x3f800000
mov dword [esp + 0x278], 0x3f800000
mov dword [esp + 0x27c], edx
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x3c]
push eax
lea edx, [esp + 0x1a4]
push ecx
push edx
mov dword [esp + 0x1c], 1
call fcn.004e55f0
add esp, 0xc
mov ecx, dword [eax]
mov byte [esp + 0x3c8], 0x10
test ecx, ecx
je 0x5c4eed
add ecx, 0xc
mov dword [esp + 0x9c], ecx
jmp 0x5c4ef8
mov dword [esp + 0x9c], 0
mov eax, dword [eax]
test eax, eax
je 0x5c4f0a
mov eax, dword [eax + 4]
mov dword [esp + 0xa0], eax
jmp 0x5c4f15
mov dword [esp + 0xa0], 0
lea ecx, [esp + 0x9c]
push ecx
lea ecx, [esp + 0x58]
call fcn.004c3f00
lea ecx, [esp + 0x1a0]
mov byte [esp + 0x3c8], 6
call fcn.00498970
mov eax, dword [esp + 0xc]
xor ecx, ecx
cmp eax, ecx
je 0x5c4f64
lea edx, [eax + 0xc]
lea ecx, [esp + 0xb4]
mov dword [esp + 0xb4], edx
mov eax, dword [eax + 4]
mov dword [esp + 0xb8], eax
jmp 0x5c54d7
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], ecx
lea ecx, [esp + 0xb4]
jmp 0x5c54d7
mov esi, dword [edx]
cmp eax, esi
jg 0x5c52fd
jl 0x5c52fd
mov edx, dword [edx + 4]
cmp ecx, edx
jg 0x5c52fd
jl 0x5c52fd
mov edx, dword [ebp + 0x18]
mov edi, dword [esp + 0x14]
lea eax, [esp + 0x30]
lea ecx, [esp + 0x2c8]
lea esi, [edx + 0xc]
push esi
push eax
push ebx
push ecx
mov ecx, edi
call fcn.005c7120
mov edx, dword [eax]
push esi
mov dword [esp + 0x1c], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x34]
mov edx, dword [eax + 8]
push ecx
mov dword [esp + 0x28], edx
lea edx, [esp + 0x14c]
mov eax, dword [eax + 0xc]
push ebx
push edx
mov ecx, edi
mov dword [esp + 0x34], eax
call fcn.005c76f0
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x3cc], 0x11
call fcn.00498be0
lea ecx, [esp + 0x144]
mov byte [esp + 0x3c8], 6
call fcn.00498970
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5c518f
mov ecx, dword [eax + 4]
test ecx, ecx
jle 0x5c518f
mov ecx, 5
lea edi, [esp + 0x294]
lea esi, [esp + 0x3c]
xor edx, edx
mov dword [esp + 0x294], 2
mov dword [esp + 0x298], 0x3f800000
mov dword [esp + 0x29c], 0x3f800000
mov dword [esp + 0x2a0], 0x3f800000
mov dword [esp + 0x2a4], 0
repe cmpsd dword [esi], dword es:[edi]
je 0x5c5150
mov ecx, 5
lea esi, [esp + 0x1f4]
lea edi, [esp + 0x3c]
mov dword [esp + 0x1f4], 2
mov dword [esp + 0x1f8], 0x3f800000
mov dword [esp + 0x1fc], 0x3f800000
mov dword [esp + 0x200], 0x3f800000
mov dword [esp + 0x204], edx
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x3c]
push eax
lea edx, [esp + 0x170]
push ecx
push edx
mov dword [esp + 0x1c], 1
call fcn.004e55f0
add esp, 0xc
mov ecx, dword [eax]
mov byte [esp + 0x3c8], 0x12
test ecx, ecx
je 0x5c50ff
add ecx, 0xc
mov dword [esp + 0xc4], ecx
jmp 0x5c510a
mov dword [esp + 0xc4], 0
mov eax, dword [eax]
test eax, eax
je 0x5c511c
mov eax, dword [eax + 4]
mov dword [esp + 0xc8], eax
jmp 0x5c5127
mov dword [esp + 0xc8], 0
lea ecx, [esp + 0xc4]
push ecx
lea ecx, [esp + 0x58]
call fcn.004c3f00
lea ecx, [esp + 0x16c]
mov byte [esp + 0x3c8], 6
call fcn.00498970
mov eax, dword [esp + 0xc]
xor ecx, ecx
cmp eax, ecx
je 0x5c516c
lea edx, [eax + 0xc]
mov dword [esp + 0xd4], edx
mov eax, dword [eax + 4]
mov dword [esp + 0xd8], eax
jmp 0x5c517a
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], ecx
lea ecx, [esp + 0xd4]
push ecx
lea ecx, [esp + 0x58]
call fcn.004c3f00
mov edi, dword [esp + 0x14]
mov edx, dword [ebp + 0x18]
lea ecx, [esp + 0x188]
lea eax, [edx + 0xc]
push eax
lea eax, [esp + 0x34]
push eax
push ebx
push ecx
mov ecx, edi
call fcn.005c79a0
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x3cc], 0x13
call fcn.00498be0
lea ecx, [esp + 0x188]
mov byte [esp + 0x3c8], 6
call fcn.00498970
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5c54e1
mov ecx, dword [eax + 4]
test ecx, ecx
jle 0x5c54e1
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x334]
push ecx
mov eax, dword [edx + 0x34]
lea ebx, [edx + 0x34]
mov ecx, ebx
call dword [eax + 4]
mov ecx, 5
mov edi, eax
lea esi, [esp + 0x3c]
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
je 0x5c52b9
mov eax, dword [ebx]
lea ecx, [esp + 0x35c]
push ecx
mov ecx, ebx
call dword [eax + 4]
mov ecx, 5
mov esi, eax
lea edi, [esp + 0x3c]
lea edx, [esp + 0x10]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x3c]
push edx
lea ecx, [esp + 0x16c]
push eax
push ecx
mov dword [esp + 0x1c], 1
call fcn.004e55f0
add esp, 0xc
mov ecx, dword [eax]
mov byte [esp + 0x3c8], 0x14
test ecx, ecx
je 0x5c526c
add ecx, 0xc
mov dword [esp + 0xe4], ecx
jmp 0x5c5277
mov dword [esp + 0xe4], 0
mov eax, dword [eax]
xor esi, esi
cmp eax, esi
je 0x5c528b
mov edx, dword [eax + 4]
mov dword [esp + 0xe8], edx
jmp 0x5c5292
mov dword [esp + 0xe8], esi
lea eax, [esp + 0xe4]
lea ecx, [esp + 0x54]
push eax
call fcn.004c3f00
lea ecx, [esp + 0x168]
mov byte [esp + 0x3c8], 6
call fcn.00498970
jmp 0x5c52bb
xor esi, esi
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x5c52e3
lea ecx, [eax + 0xc]
mov dword [esp + 0xf4], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0xf8], edx
lea eax, [esp + 0xf4]
jmp 0x5c4bf0
mov dword [esp + 0xf4], esi
mov dword [esp + 0xf8], esi
lea eax, [esp + 0xf4]
jmp 0x5c4bf0
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x2dc]
push ebx
push edx
mov ecx, esi
call fcn.005c6f20
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x170]
mov edx, dword [eax + 0xc]
lea eax, [esp + 0x30]
push eax
push ebx
push ecx
mov ecx, esi
mov dword [esp + 0x30], edx
call fcn.004e86d0
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x3cc], 0x15
call fcn.00498be0
lea ecx, [esp + 0x170]
mov byte [esp + 0x3c8], 6
call fcn.00498970
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5c54e1
mov ecx, dword [eax + 4]
test ecx, ecx
jle 0x5c54e1
mov ecx, 5
lea edi, [esp + 0x258]
lea esi, [esp + 0x3c]
xor edx, edx
mov dword [esp + 0x258], 2
mov dword [esp + 0x25c], 0x3f800000
mov dword [esp + 0x260], 0x3f800000
mov dword [esp + 0x264], 0x3f800000
mov dword [esp + 0x268], 0
repe cmpsd dword [esi], dword es:[edi]
je 0x5c54a6
mov ecx, 5
lea esi, [esp + 0x208]
lea edi, [esp + 0x3c]
mov dword [esp + 0x208], 2
mov dword [esp + 0x20c], 0x3f800000
mov dword [esp + 0x210], 0x3f800000
mov dword [esp + 0x214], 0x3f800000
mov dword [esp + 0x218], edx
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x10]
lea ecx, [esp + 0x3c]
push eax
lea edx, [esp + 0x194]
push ecx
push edx
mov dword [esp + 0x1c], 1
call fcn.004e55f0
add esp, 0xc
mov ecx, dword [eax]
mov byte [esp + 0x3c8], 0x16
test ecx, ecx
je 0x5c5455
add ecx, 0xc
mov dword [esp + 0x94], ecx
jmp 0x5c5460
mov dword [esp + 0x94], 0
mov eax, dword [eax]
test eax, eax
je 0x5c5472
mov eax, dword [eax + 4]
mov dword [esp + 0x98], eax
jmp 0x5c547d
mov dword [esp + 0x98], 0
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x58]
call fcn.004c3f00
lea ecx, [esp + 0x190]
mov byte [esp + 0x3c8], 6
call fcn.00498970
mov eax, dword [esp + 0xc]
xor ecx, ecx
cmp eax, ecx
je 0x5c54c2
lea edx, [eax + 0xc]
mov dword [esp + 0x104], edx
mov eax, dword [eax + 4]
mov dword [esp + 0x108], eax
jmp 0x5c54d0
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], ecx
lea ecx, [esp + 0x104]
push ecx
lea ecx, [esp + 0x58]
call fcn.004c3f00
fld dword [ebx + 0x10]
fld st(0)
fadd dword [esp + 0x18]
mov edx, dword [ebx + 0x18]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1e8], edx
fstp dword [esp + 0x18]
fadd dword [esp + 0x1c]
fld dword [esp + 0x20]
fadd dword [esp + 0x1e8]
fstp dword [esp + 0x20]
fld dword [esp + 0x1e8]
fadd dword [esp + 0x24]
fstp dword [esp + 0x24]
fld dword [esp + 0x18]
fadd dword [eax + 0x90]
fstp dword [esp + 0x18]
fadd dword [eax + 0x90]
fld dword [esp + 0x20]
fadd dword [eax + 0x94]
fstp dword [esp + 0x20]
fld dword [esp + 0x24]
fadd dword [eax + 0x94]
mov eax, dword [ebp + 0x10]
fstp dword [esp + 0x24]
fld dword [esp + 0x18]
fsub dword [eax]
fstp dword [esp + 0x18]
fsub dword [eax]
fld dword [esp + 0x20]
fsub dword [eax + 4]
fstp dword [esp + 0x20]
fld dword [esp + 0x24]
fsub dword [eax + 4]
fstp dword [esp + 0x24]
fsub dword [esp + 0x18]
fst dword [esp + 0x10]
fcomp dword [0x670244]
fnstsw ax
test ah, 0x41
jne 0x5c5925
lea eax, [esp + 0x70]
lea ecx, [esp + 0x280]
push eax
lea edx, [esp + 0x198]
push ecx
push edx
mov dword [esp + 0x7c], 1
mov dword [esp + 0x28c], 2
mov dword [esp + 0x290], 0
mov dword [esp + 0x294], 0x3e4ccccd
mov dword [esp + 0x298], 0x3ee2e2e3
mov dword [esp + 0x29c], 0
call fcn.004e55f0
add esp, 0xc
mov ecx, dword [eax]
xor esi, esi
cmp ecx, esi
mov byte [esp + 0x3c8], 0x17
je 0x5c5604
add ecx, 0xc
mov dword [esp + 0x114], ecx
jmp 0x5c560b
mov dword [esp + 0x114], esi
mov eax, dword [eax]
cmp eax, esi
je 0x5c561d
mov eax, dword [eax + 4]
mov dword [esp + 0x118], eax
jmp 0x5c5624
mov dword [esp + 0x118], esi
lea ecx, [esp + 0x114]
push ecx
lea ecx, [esp + 0x1c8]
call fcn.004c3f00
lea ecx, [esp + 0x194]
mov byte [esp + 0x3c8], 6
call fcn.00498970
mov edi, 0x6ee314
mov edx, edi
mov dword [esp + 0x13c], edi
test edx, edx
je 0x5c5671
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x140], ecx
jmp 0x5c5678
mov dword [esp + 0x140], esi
mov edx, 0x6e0e1c
mov eax, edx
mov dword [esp + 0x148], edx
test eax, eax
je 0x5c569f
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x14c], ecx
jmp 0x5c56a6
mov dword [esp + 0x14c], esi
mov ecx, edx
mov dword [esp + 0x154], edx
test ecx, ecx
je 0x5c56c8
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x158], ecx
jmp 0x5c56cf
mov dword [esp + 0x158], esi
mov eax, edx
mov dword [esp + 0x160], edx
test eax, eax
je 0x5c56f1
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x164], ecx
jmp 0x5c56f8
mov dword [esp + 0x164], esi
fld dword [esp + 0x20]
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 0x41
jne 0x5c5711
fld dword [esp + 0x20]
fsub dword [esp + 0x24]
jmp 0x5c5719
fld dword [esp + 0x24]
fsub dword [esp + 0x20]
fadd dword [0x6ae9a4]
lea ecx, [esp + 0x13c]
lea edx, [esp + 0x148]
push ecx
mov ecx, dword [ebp + 0x20]
sub esp, 8
lea eax, [esp + 0x160]
fstp qword [esp]
fld dword [esp + 0x1c]
push edx
lea edx, [esp + 0x170]
sub esp, 8
fstp qword [esp]
push eax
mov eax, dword [ebp + 0xc]
sub esp, 8
fld dword [eax + 4]
fadd dword [ecx]
lea ecx, [esp + 0x1e8]
fsub dword [esp + 0x48]
fsub dword [0x6ae9a0]
fstp qword [esp]
fld dword [eax]
mov eax, dword [ebp + 0x1c]
push edx
sub esp, 8
fadd dword [eax]
fadd dword [esp + 0x48]
fstp qword [esp]
call fcn.004c3fa0
mov ecx, eax
call fcn.004c3f00
mov ecx, eax
call fcn.004c3fa0
mov ecx, eax
call fcn.004c3f00
mov ecx, eax
call fcn.004c3fa0
mov ecx, eax
call fcn.004c3f00
mov ecx, eax
call fcn.004c3fa0
mov ecx, eax
call fcn.004c3f00
jmp 0x5c5925
lea ecx, [esp + 0x30]
lea edx, [esp + 0x184]
push ecx
mov ecx, dword [esp + 0x18]
push ebx
push edx
call fcn.004e86d0
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x3cc], 0x18
call fcn.00498be0
lea ecx, [esp + 0x184]
mov byte [esp + 0x3c8], 6
call fcn.00498970
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5c5925
mov ecx, dword [eax + 4]
test ecx, ecx
jle 0x5c5925
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x34]
lea ebx, [eax + 0x34]
lea eax, [esp + 0x384]
mov ecx, ebx
push eax
call dword [edx + 4]
mov ecx, 5
mov edi, eax
lea esi, [esp + 0x3c]
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
je 0x5c58e2
mov eax, dword [ebx]
lea ecx, [esp + 0x3ac]
push ecx
mov ecx, ebx
call dword [eax + 4]
mov ecx, 5
mov esi, eax
lea edi, [esp + 0x3c]
lea edx, [esp + 0x70]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x3c]
push edx
lea ecx, [esp + 0x1a0]
push eax
push ecx
mov dword [esp + 0x7c], 1
call fcn.004e55f0
add esp, 0xc
mov ecx, dword [eax]
mov byte [esp + 0x3c8], 0x19
test ecx, ecx
je 0x5c5895
add ecx, 0xc
mov dword [esp + 0x124], ecx
jmp 0x5c58a0
mov dword [esp + 0x124], 0
mov eax, dword [eax]
xor esi, esi
cmp eax, esi
je 0x5c58b4
mov edx, dword [eax + 4]
mov dword [esp + 0x128], edx
jmp 0x5c58bb
mov dword [esp + 0x128], esi
lea eax, [esp + 0x124]
lea ecx, [esp + 0x54]
push eax
call fcn.004c3f00
lea ecx, [esp + 0x19c]
mov byte [esp + 0x3c8], 6
call fcn.00498970
jmp 0x5c58e4
xor esi, esi
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x5c5902
lea ecx, [eax + 0xc]
mov dword [esp + 0xac], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0xb0], edx
jmp 0x5c5910
mov dword [esp + 0xac], esi
mov dword [esp + 0xb0], esi
lea eax, [esp + 0xac]
lea ecx, [esp + 0x54]
push eax
call fcn.004c3f00
mov ebx, dword [esp + 0x50]
lea ecx, [esp + 0x1c4]
push ecx
lea ecx, [esp + 0x2ac]
call fcn.004c4010
mov eax, dword [esp + 0x5c]
test eax, eax
jle 0x5c5a94
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x20]
mov esi, dword [esp + 0x14]
mov ecx, dword [ebp + 0x10]
fld dword [edx + 4]
fadd dword [eax]
mov eax, dword [esp + 0x6c]
lea edi, [esp + 0x80]
fld dword [eax + 0x1c]
fadd dword [ebx + 0x18]
fadd dword [esi + 0x94]
fsub dword [ecx + 4]
fsubp st(1)
fld dword [eax + 0x18]
fadd dword [ebx + 0x10]
fadd dword [esi + 0x90]
lea esi, [esp + 0x1ec]
fsub dword [ecx]
mov ecx, dword [ebp + 0x1c]
fadd dword [edx]
fadd dword [ecx]
mov ecx, 2
fst dword [esp + 0x6c]
fstp dword [esp + 0x88]
mov edx, dword [esp + 0x88]
fst dword [esp + 0x8c]
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x1ec], edx
xor edx, edx
mov dword [esp + 0x1f0], eax
repe cmpsd dword [esi], dword es:[edi]
je 0x5c5a65
mov edi, str._Td_n
mov eax, edi
mov dword [esp + 0x74], edi
test eax, eax
je 0x5c59eb
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x78], ecx
jmp 0x5c59f3
mov dword [esp + 0x78], 0
mov edi, 0x6e0e1c
mov ecx, edi
mov dword [esp + 0x28], edi
test ecx, ecx
je 0x5c5a12
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x2c], ecx
jmp 0x5c5a1a
mov dword [esp + 0x2c], 0
fsub dword [esp + 0x84]
lea edx, [esp + 0x74]
lea eax, [esp + 0x28]
push edx
lea ecx, [esp + 0x1d8]
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x78]
fsub dword [esp + 0x8c]
push eax
sub esp, 8
fstp qword [esp]
call fcn.004c3fa0
mov ecx, eax
call fcn.004c3f00
mov ecx, eax
call fcn.004c3fa0
mov ecx, eax
call fcn.004c3f00
jmp 0x5c5a67
fstp st(0)
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
lea eax, [esp + 0x54]
mov dword [esp + 0x80], ecx
push eax
lea ecx, [esp + 0x1d8]
mov dword [esp + 0x88], edx
call fcn.004c4010
lea ecx, [esp + 0x1c4]
mov byte [esp + 0x3c8], 5
call fcn.004c3db0
lea ecx, [esp + 0x54]
mov byte [esp + 0x3c8], 4
call fcn.004c3db0
mov eax, dword [esp + 0x64]
mov ecx, dword [ebx + 0x34]
inc eax
cmp eax, ecx
mov dword [esp + 0x64], eax
jl 0x5c464b
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x12c]
inc eax
cmp eax, ecx
mov dword [esp + 0x90], eax
jle 0x5c4611
lea ecx, [esp + 0x2a8]
push ecx
lea ecx, [esp + 0x1ac]
call fcn.004c4010
mov eax, dword [esp + 0x1dc]
xor ebx, ebx
cmp eax, ebx
jle 0x5c5c45
mov edi, 0x6e1da8
mov edx, edi
mov dword [esp + 0x28], edi
test edx, edx
je 0x5c5b33
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x2c], ecx
jmp 0x5c5b37
mov dword [esp + 0x2c], ebx
lea eax, [esp + 0x28]
lea ecx, [esp + 0x1a8]
push eax
call fcn.004c3f00
fld dword [esi + 0x88]
fst qword [esp + 0x74]
fcomp qword [0x670060]
fnstsw ax
test ah, 1
je 0x5c5b76
fld dword [esi + 0x88]
fst qword [esp + 0x74]
fcomp qword [0x686d88]
fnstsw ax
test ah, 0x41
je 0x5c5bbb
mov edi, str._Tc_n
mov ecx, edi
mov dword [esp + 0x28], edi
test ecx, ecx
je 0x5c5b95
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x2c], ecx
jmp 0x5c5b99
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
lea edx, [esp + 0x28]
push edx
push eax
push ecx
lea ecx, [esp + 0x1b4]
call fcn.004c3fa0
mov ecx, eax
call fcn.004c3f00
mov esi, dword [esi + 0x8c]
cmp esi, 0x64
je 0x5c5c02
mov edi, str._Tz_n
mov edx, edi
mov dword [esp + 0x28], edi
test edx, edx
je 0x5c5be5
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x2c], ecx
jmp 0x5c5be9
mov dword [esp + 0x2c], ebx
lea eax, [esp + 0x28]
lea ecx, [esp + 0x1a8]
push eax
push esi
call fcn.004c3f60
mov ecx, eax
call fcn.004c3f00
mov edi, 0x6e1d5c
mov ecx, edi
mov dword [esp + 0x28], edi
test ecx, ecx
je 0x5c5c21
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x2c], ecx
jmp 0x5c5c25
mov dword [esp + 0x2c], ebx
lea edx, [esp + 0x28]
lea eax, [esp + 0x1d4]
push edx
push eax
lea ecx, [esp + 0x1b0]
call fcn.004c4010
mov ecx, eax
call fcn.004c3f00
mov esi, dword [ebp + 8]
lea ecx, [esp + 0x1a8]
push esi
call fcn.004c3ed0
mov dword [esp + 0x150], 1
lea ecx, [esp + 0xc]
mov byte [esp + 0x3c8], 3
call fcn.00498970
lea ecx, [esp + 0x2a8]
mov byte [esp + 0x3c8], 2
call fcn.004c3db0
lea ecx, [esp + 0x1d4]
mov byte [esp + 0x3c8], 1
call fcn.004c3db0
lea ecx, [esp + 0x1a8]
mov byte [esp + 0x3c8], 0
call fcn.004c3db0
mov ecx, dword [esp + 0x3c0]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x1c