Function at 0x454220
Capabilities:
Create thread

Disassembly:
sub esp, 0x98
mov eax, dword [0x784eb8]
push esi
push edi
push eax
call fcn.0044ba40
xor esi, esi
add esp, 4
mov dword [esp + 0x10], eax
mov dword [0x785054], esi
mov dword [0x784e38], esi
mov ecx, dword [esp + 0xa4]
mov dword [0x784e34], ecx
mov dword [0x784f30], esi
mov dword [0x784e28], esi
mov eax, dword [0x765e50]
mov edi, 1
cmp eax, esi
mov dword [0x7850c4], edi
mov byte [0x784f34], 0
je 0x454282
mov dword [0x7850c8], edi
push ebx
xor ebx, ebx
mov eax, dword [0x7850c8]
push esi
push edi
mov dl, bl
push esi
push 0x100
add dl, 0x1f
lea ecx, [ebx + eax*4]
push 0x100
push edx
mov edx, dword [ecx*4 + 0x4ba898]
push edx
call fcn.0048d010
add esp, 0x1c
inc ebx
cmp ebx, 4
jl 0x454285
mov eax, dword [0x74a068]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], eax
push ebp
fild qword [esp + 0x10]
push 0x44200000
push ecx
mov ecx, dword [0x749ed8]
mov dword [esp + 0x1c], esi
fstp dword [esp]
mov dword [esp + 0x18], ecx
push ecx
fild qword [esp + 0x1c]
fstp dword [esp]
push esi
push esi
call fcn.00410fd0
add esp, 0x14
mov dword [esp + 0x24], 3
mov ebp, 0xffffff
call fcn.0042ec10
mov eax, dword [0x74a05c]
push esi
push 0x3f800000
push esi
mov edx, dword [eax]
push 3
push 0x4c79a8
push 1
push eax
call dword [edx + 0x50]
mov eax, dword [0x74c7b0]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
call fcn.004236c0
cmp word [0x4b6da6], si
je 0x454352
mov eax, dword [0x74c7b0]
mov word [0x4b6da6], si
push esi
push 7
mov edx, dword [eax]
push eax
call dword [edx + 0x58]
inc dword [0x74c67c]
xor ebx, ebx
mov eax, ebx
mov dword [0x745c20], 0
and eax, 1
mov dword [0x745bc0], 0
mov dword [esp + 0x10], eax
inc eax
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov eax, ebx
and eax, 2
mov dword [0x745c00], 0x3f800000
fmul dword [0x4b044c]
movsx ecx, word [0x4b6d9c]
fadd dword [0x4b00a0]
mov dword [0x745be0], 0x3f800000
mov dword [0x745be4], 0
mov dword [0x745bc4], 0
mov dword [0x745c24], 0x3f800000
fmul dword [0x784e4c]
mov dword [0x745c04], 0x3f800000
mov dword [0x745c18], ebp
mov dword [0x745bf8], ebp
mov dword [0x745bd8], ebp
mov dword [0x745bb8], ebp
mov dword [0x745c14], 0x3f800000
fst dword [0x745c08]
fstp dword [0x745ba8]
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
add eax, 2
mov dword [0x745bf4], 0x3f800000
mov dword [0x745bd4], 0x3f800000
fmul dword [0x4b044c]
mov dword [0x745bb4], 0x3f800000
fadd dword [0x4b00a0]
fmul dword [0x784e4c]
fst dword [0x745be8]
fstp dword [0x745bc8]
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
movsx eax, bl
fmul dword [0x4b01f4]
add eax, 0x1f
fadd dword [0x4b00a0]
cmp ecx, eax
fmul dword [0x784e50]
fst dword [0x745bcc]
fstp dword [0x745bac]
fild dword [esp + 0x10]
fmul dword [0x4b01f4]
fadd dword [0x4b00a0]
fmul dword [0x784e50]
fst dword [0x745c0c]
fstp dword [0x745bec]
je 0x4544e7
movsx ax, bl
add eax, 0x1f
cmp ax, 0xffff
mov word [0x4b6d9c], ax
jne 0x4544ba
mov eax, dword [0x74c7b0]
push esi
push esi
push eax
mov edx, dword [eax]
jmp 0x4544db
movsx eax, ax
mov ecx, dword [0x74c7b0]
lea edi, [eax + eax*4]
mov edx, dword [ecx]
lea eax, [eax + edi*8]
mov edi, dword [0x847288]
mov eax, dword [edi + eax*4 + 0x94]
push eax
push esi
push ecx
call dword [edx + 0x98]
inc dword [0x74c678]
mov eax, dword [0x74c7b0]
push 8
push 4
push 0x745ba8
mov ecx, dword [eax]
push 0x1c4
push 6
push eax
call dword [ecx + 0x70]
inc ebx
cmp ebx, 4
jl 0x454354
cmp dword [0x7850c8], esi
je 0x4546aa
fld dword [0x784e4c]
fmul dword [0x4b018c]
fld dword [0x784e50]
fmul dword [0x4b0094]
fld dword [0x784e4c]
fmul dword [0x4b0108]
fld dword [0x784e50]
fmul dword [0x4b0448]
mov eax, dword [0x74c7b0]
mov dword [0x745bb8], ebp
mov dword [0x745bb4], 0x3f800000
mov dword [0x745bc0], 0
mov dword [0x745bc4], 0
mov dword [0x745bd8], ebp
fstp dword [esp + 0x10]
fld st(2)
mov dword [0x745bd4], 0x3f800000
mov dword [0x745be0], 0x3f800000
fstp dword [0x745ba8]
fld st(1)
mov dword [0x745be4], 0
mov dword [0x745bf8], ebp
fstp dword [0x745bac]
mov dword [0x745bf4], 0x3f800000
mov dword [0x745c00], 0x3f800000
fadd st(2)
mov dword [0x745c04], 0x3e8c0000
mov dword [0x745c18], ebp
mov dword [0x745c14], 0x3f800000
mov dword [0x745c20], 0
mov dword [0x745c24], 0x3e8c0000
push 0xf0
fst dword [0x745bc8]
fld st(1)
push 0x18
push eax
fstp dword [0x745bcc]
fstp dword [0x745be8]
fadd dword [esp + 0x1c]
fst dword [esp + 0x1c]
fstp dword [0x745bec]
mov edx, dword [esp + 0x1c]
fstp dword [0x745c08]
mov dword [0x745c0c], edx
mov ecx, dword [eax]
call dword [ecx + 0x58]
mov edx, dword [0x74c67c]
mov eax, 0x1e
inc edx
cmp word [0x4b6d9c], ax
mov dword [0x74c67c], edx
je 0x454675
mov ecx, dword [0x847288]
mov word [0x4b6d9c], ax
mov eax, dword [0x74c7b0]
mov ecx, dword [ecx + 0x13cc]
mov edx, dword [eax]
push ecx
push esi
push eax
call dword [edx + 0x98]
inc dword [0x74c678]
mov eax, dword [0x74c7b0]
push 8
push 4
push 0x745ba8
mov edx, dword [eax]
push 0x1c4
push 6
push eax
call dword [edx + 0x70]
mov eax, dword [0x74c7b0]
mov edx, dword [0x4ba868]
push edx
push 0x18
mov ecx, dword [eax]
push eax
call dword [ecx + 0x58]
inc dword [0x74c67c]
fld dword [0x784e50]
fmul dword [0x4b0444]
push 0xffffffffffffffff
push esi
push ecx
fstp dword [esp]
fld dword [0x784e4c]
fmul dword [0x4b0440]
push ecx
fstp dword [esp]
fld dword [0x784e50]
fmul dword [0x4b00e0]
push ecx
fstp dword [esp]
fld dword [0x784e4c]
fmul dword [0x4b00e0]
push ecx
fstp dword [esp]
call fcn.0045d6e0
add esp, 0x18
call fcn.0048be70
cmp dword [0x784eb0], 0xa
jne 0x454744
cmp dword [0x7850c8], esi
je 0x454d63
mov edi, dword [0x785c60]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, 0x280
shl ecx, 3
push ebp
sub eax, ecx
push 0x10
push 8
shr eax, 1
push pe_nt_image_headers32
push eax
call fcn.0048bf70
add esp, 0x18
jmp 0x454d63
cmp dword [0x4d6e60], esi
je 0x454781
mov edi, dword [0x785c64]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, 0x280
shl ecx, 3
push ebp
sub edx, ecx
push 0x10
push 8
shr edx, 1
push pe_nt_image_headers32
push edx
call fcn.0048bf70
add esp, 0x18
jmp 0x454d63
cmp dword [0x765e50], esi
je 0x4547be
mov edi, dword [0x785c68]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, 0x280
shl ecx, 3
push ebp
sub eax, ecx
push 0x10
push 8
shr eax, 1
push pe_nt_image_headers32
push eax
call fcn.0048bf70
add esp, 0x18
jmp 0x454d63
mov edi, dword [0x7859b0]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, 0x27
push ebp
sub edx, ecx
mov esi, 0xa0
push 0x10
push 8
push esi
shl edx, 3
push edx
call fcn.0048bf70
mov eax, dword [0x784eb0]
add esp, 0x18
cmp eax, 7
jne 0x454886
mov eax, dword [0x4d6ab8]
mov ecx, dword [eax*4 + 0x7855f8]
push ecx
push 0xffff
push 0x10
push 8
push esi
push 0x148
call fcn.0048bf70
mov edi, dword [0x7859b4]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, 0x27
push ebp
sub edx, ecx
mov esi, 0xc0
push 0x10
push 8
push esi
shl edx, 3
push edx
call fcn.0048bf70
mov eax, dword [0x4d6ab8]
lea ecx, [eax + eax*4]
lea edx, [eax + ecx*4]
mov ecx, dword [0x4d6abc]
inc ecx
mov eax, dword [edx*4 + 0x4b4470]
lea edx, [esp + 0x58]
push eax
push ecx
push str._ld____ld
push edx
call fcn.004a4ca4
add esp, 0x40
lea eax, [esp + 0x28]
push eax
push 0xffff
push 0x10
push 8
push esi
jmp 0x4548a8
mov ecx, dword [eax*4 + 0x4ba820]
cmp ecx, 0xffffffff
je 0x4548ba
mov ecx, dword [ecx*4 + 0x785568]
push ecx
push 0xffff
push 0x10
push 8
push 0xa0
push 0x148
call fcn.0048bf70
mov eax, dword [0x784eb0]
add esp, 0x18
add esi, 0x20
cmp eax, 9
je 0x4549d6
mov edi, dword [0x7859b8]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, 0x27
push ebp
sub edx, ecx
push 0x10
push 8
shl edx, 3
push esi
push edx
call fcn.0048bf70
mov eax, dword [0x784ed0]
mov ecx, dword [0x785900]
add esp, 0x18
test eax, eax
jne 0x454904
mov ecx, 0x4c655c
mov eax, dword [0x784ecc]
test eax, eax
mov eax, dword [0x785904]
jne 0x454917
mov eax, 0x4c655c
mov ebx, dword [esp + 0x18]
push ecx
push eax
lea ecx, [esp + 0x30]
lea eax, [ebx + 0x10]
push eax
push str._s__s_s
push ecx
call fcn.004a4ca4
lea edx, [esp + 0x3c]
push edx
push 0xffff
push 0x10
push 8
push esi
push 0x148
call fcn.0048bf70
mov eax, dword [0x784eb0]
add esp, 0x2c
add esi, 0x20
cmp eax, 9
je 0x4549d6
cmp eax, 6
je 0x4549d6
mov edi, dword [0x7855f8]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, 0x26
push ebp
sub eax, ecx
push 0x10
push 8
shl eax, 3
push esi
push eax
call fcn.0048bf70
push 0x4bac20
push ebp
push 0x10
push 8
push esi
push 0x130
call fcn.0048bf70
fld dword [ebx + 0x50]
call fcn.004a4cf8
push eax
lea ecx, [esp + 0x5c]
push 0x4bac18
push ecx
call fcn.004a4ca4
lea edx, [esp + 0x64]
push edx
push 0xffff
push 0x10
push 8
push esi
push 0x148
call fcn.0048bf70
mov eax, dword [0x784eb0]
add esp, 0x54
add esi, 0x20
cmp eax, 7
je 0x4549ea
cmp eax, 2
je 0x4549ea
cmp eax, 3
je 0x4549ea
cmp eax, 4
jne 0x454a60
mov edi, dword [0x7855f4]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov eax, 0x26
push ebp
sub eax, ecx
push 0x10
push 8
shl eax, 3
push esi
push eax
call fcn.0048bf70
push 0x4bac20
push ebp
push 0x10
push 8
push esi
push 0x130
call fcn.0048bf70
mov ecx, dword [0x784ec0]
lea edx, [esp + 0x58]
push ecx
push 0x4b8808
push edx
call fcn.004a4ca4
lea eax, [esp + 0x64]
push eax
push 0xffff
push 0x10
push 8
push esi
push 0x148
call fcn.0048bf70
mov eax, dword [0x784eb0]
add esp, 0x54
add esi, 0x20
cmp eax, 0xc
je 0x454aef
mov edi, dword [0x7859bc]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, 0x26
push ebp
sub edx, ecx
push 0x10
push 8
shl edx, 3
push esi
push edx
call fcn.0048bf70
push 0x4bac20
push ebp
push 0x10
push 8
push esi
push 0x130
call fcn.0048bf70
mov eax, dword [0x76fa20]
mov ecx, eax
shl ecx, 4
add ecx, eax
mov ecx, dword [ecx*4 + 0x76fa5c]
lea eax, [ecx + ecx*2]
shl eax, 5
add eax, ecx
lea edx, [eax + eax*2]
mov eax, dword [0x4d67b0]
lea ecx, [eax + edx*8 + 0x544]
push ecx
push 0xffff
push 0x10
push 8
push esi
push 0x148
call fcn.0048bf70
mov eax, dword [0x784eb0]
add esp, 0x48
add esi, 0x20
cmp eax, 2
jne 0x454b66
cmp dword [0x784eb8], 0xd
jge 0x454d61
mov edi, dword [0x7859c0]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, 0x27
push ebp
sub edx, ecx
push 0x10
push 8
shl edx, 3
push esi
push edx
call fcn.0048bf70
mov eax, dword [0x784eb8]
add esp, 0x18
mov cl, byte [eax*4 + 0x77dabc]
mov eax, dword [0x78566c]
test cl, 0x10
jne 0x454b46
mov eax, dword [0x785670]
push eax
push 0xffff
push 0x10
push 8
push esi
push 0x148
call fcn.0048bf70
mov eax, dword [0x784eb0]
add esp, 0x18
add esi, 0x20
cmp eax, 8
jne 0x454bcf
mov edi, dword [0x7859c4]
or ecx, 0xffffffff
push edi
push ebp
push 0x10
push eax
xor eax, eax
mov edx, 0x27
repne scasb al, byte es:[edi]
not ecx
dec ecx
push esi
sub edx, ecx
shl edx, 3
push edx
call fcn.0048bf70
mov eax, dword [0x784eb8]
add esp, 0x18
mov cl, byte [eax*4 + 0x77dabc]
mov eax, dword [0x78566c]
test cl, 8
jne 0x454baf
mov eax, dword [0x785670]
push eax
push 0xffff
push 0x10
push 8
push esi
push 0x148
call fcn.0048bf70
mov eax, dword [0x784eb0]
add esp, 0x18
add esi, 0x20
cmp eax, 9
jne 0x454c42
mov edi, dword [0x7859c8]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, 0x27
push ebp
sub edx, ecx
push 0x10
push 8
shl edx, 3
push esi
push edx
call fcn.0048bf70
mov eax, dword [0x77daf8]
mov ecx, dword [0x7859cc]
mov edx, dword [0x77daf4]
push eax
push ecx
push edx
lea eax, [esp + 0x4c]
push str._ld__s__ld
push eax
call fcn.004a4ca4
lea ecx, [esp + 0x54]
push ecx
push 0xffff
push 0x10
push 8
push esi
push 0x148
call fcn.0048bf70
mov eax, dword [0x784eb0]
add esp, 0x44
add esi, 0x20
cmp eax, 1
jne 0x454d61
mov eax, dword [0x784eb8]
cmp eax, 0xd
jge 0x454d61
mov ecx, dword [0x784ed0]
test ecx, ecx
mov ecx, dword [0x784ecc]
jne 0x454c9c
mov eax, dword [eax*4 + 0x77dabc]
test ecx, ecx
jne 0x454c88
mov edx, dword [esp + 0x18]
and eax, 1
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x60]
mov dword [esp + 0x1c], eax
jmp 0x454cb9
mov ecx, dword [esp + 0x18]
and eax, 2
mov dword [esp + 0x20], eax
mov edx, dword [ecx + 0x64]
mov dword [esp + 0x1c], edx
jmp 0x454cb9
test ecx, ecx
jne 0x454cb9
mov eax, dword [eax*4 + 0x77dabc]
and eax, 4
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x60]
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x454d06
mov ecx, dword [esp + 0x1c]
xor edx, edx
mov eax, ecx
mov edi, 0x3e8
div edi
mov eax, 0x10624dd3
mov edi, 0x3c
push edx
mul ecx
mov eax, edx
xor edx, edx
shr eax, 6
div edi
mov eax, 0x45e7b273
push edx
mul ecx
shr edx, 0xe
push edx
lea edx, [esp + 0x34]
push 0x4babfc
push edx
call fcn.004a4ca4
add esp, 0x14
jmp 0x454d1e
mov eax, dword [0x7859d0]
lea ecx, [esp + 0x28]
push eax
push 0x4b6708
push ecx
call fcn.004a4ca4
add esp, 0xc
mov edi, dword [0x7859d4]
or ecx, 0xffffffff
xor eax, eax
push edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, 0x27
push ebp
sub edx, ecx
push 0x10
push 8
shl edx, 3
push esi
push edx
call fcn.0048bf70
lea eax, [esp + 0x40]
push eax
push 0xffff
push 0x10
push 8
push esi
push 0x148
call fcn.0048bf70
add esp, 0x30
xor esi, esi
mov eax, dword [0x74c7b0]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov eax, dword [esp + 0x24]
dec eax
mov dword [esp + 0x24], eax
jne 0x4542fe
mov eax, dword [0x74c79c]
push 8
push esi
push eax
mov edx, dword [eax]
call dword [edx + 0x2c]
cmp eax, 0x8876021c
pop ebp
jne 0x454da8
mov eax, dword [0x74c79c]
push 8
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
cmp eax, 0x8876021c
je 0x454d93
xor ebx, ebx
mov dl, bl
add dl, 0x1f
push edx
call fcn.0048de50
add esp, 4
inc ebx
cmp ebx, 4
jl 0x454daa
push 0x7850c0
push esi
push esi
push 0x454e50
push esi
push esi
mov dword [0x7850c8], 1
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp eax, esi
mov dword [0x7850bc], eax
pop ebx
jne 0x454df4
push str.Cant_create_load_thread
push esi
call fcn.0042f030
add esp, 8
pop edi
pop esi
add esp, 0x98
ret