Function at 0x43e3a0
Capabilities:
Create thread
Decompress data using ucl
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4888b9
mov eax, dword fs:[0]
push eax
sub esp, 0x170
mov eax, dword [0x49e7c0]
xor eax, esp
mov dword [esp + 0x16c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x49e7c0]
xor eax, esp
push eax
lea eax, [esp + 0x184]
mov dword fs:[0], eax
mov eax, dword [esp + 0x208]
mov dword [esp + 0x24], eax
xor edi, edi
cmp byte [esp + 0x1f0], 0
mov dword [esp + 0x18c], edi
je 0x43e40b
cmp byte [esp + 0x1f4], 0
je 0x43e40b
mov byte [esp + 0x1f0], 0
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov ebp, dword [0x4a12ac]
mov esi, dword [0x4a12a8]
mov byte [esp + 0x18c], 2
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x30], edi
xor ebx, ebx
mov dword [esp + 0x18], edi
cmp esi, edi
mov dword [esp + 0x14], ebx
jne 0x43e44d
xor eax, eax
jmp 0x43e462
mov ecx, ebp
sub ecx, esi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jge 0x43e5ec
cmp esi, edi
je 0x43e487
mov ecx, ebp
sub ecx, esi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x43e498
call fcn.0047770d
mov ebp, dword [0x4a12ac]
mov esi, dword [0x4a12a8]
mov eax, dword [esp + 0x18]
mov edi, dword [eax + esi + 0x14]
mov ecx, 8
cmp dword [eax + esi + 0x18], ecx
jb 0x43e4b1
mov eax, dword [eax + esi + 4]
jmp 0x43e4b5
lea eax, [eax + esi + 4]
mov edx, dword [esp + 0x1a8]
cmp edx, edi
jb 0x43e4c2
mov edx, edi
cmp dword [esp + 0x1ac], ecx
mov ecx, dword [esp + 0x198]
jae 0x43e4d9
lea ecx, [esp + 0x198]
test edx, edx
jbe 0x43e4f7
lea ecx, [ecx]
mov bx, word [ecx]
cmp bx, word [eax]
jne 0x43e51e
add ecx, 2
add eax, 2
sub edx, 1
jne 0x43e4e0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x1a8]
cmp eax, edi
jb 0x43e50f
xor edx, edx
cmp eax, edi
setne dl
mov eax, edx
test eax, eax
je 0x43e534
add dword [esp + 0x18], 0x60
add ebx, 1
xor edi, edi
jmp 0x43e441
mov cx, bx
cmp cx, word [eax]
sbb eax, eax
and eax, 0xfffffffe
add eax, 1
je 0x43e4f3
mov ebx, dword [esp + 0x14]
jmp 0x43e50b
test esi, esi
je 0x43e551
mov ecx, ebp
sub ecx, esi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x43e562
call fcn.0047770d
mov ebp, dword [0x4a12ac]
mov esi, dword [0x4a12a8]
lea edi, [ebx + ebx*2]
shl edi, 5
mov eax, dword [edi + esi + 0x58]
test eax, eax
je 0x43e580
add dword [eax + 4], 1
mov ebp, dword [0x4a12ac]
mov esi, dword [0x4a12a8]
test esi, esi
mov dword [esp + 0x20], eax
je 0x43e5a1
mov ecx, ebp
sub ecx, esi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x43e5b2
call fcn.0047770d
mov ebp, dword [0x4a12ac]
mov esi, dword [0x4a12a8]
test esi, esi
mov eax, dword [edi + esi + 0x30]
mov dword [esp + 0x28], eax
je 0x43e5d7
sub ebp, esi
mov ecx, ebp
mov eax, 0x2aaaaaab
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x43e5e2
call fcn.0047770d
mov esi, dword [0x4a12a8]
mov ecx, dword [edi + esi + 0x34]
mov dword [esp + 0x30], ecx
xor edi, edi
mov ebp, dword [0x4a129c]
mov ecx, dword [0x4a1298]
xor ebx, ebx
mov dword [esp + 0x18], edi
xor edi, edi
cmp ecx, edi
mov dword [esp + 0x14], ebx
jne 0x43e60c
xor eax, eax
jmp 0x43e621
mov edx, ebp
sub edx, ecx
mov eax, 0x2aaaaaab
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jge 0x43e84a
cmp ecx, edi
je 0x43e646
mov edx, ebp
sub edx, ecx
mov eax, 0x2aaaaaab
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x43e657
call fcn.0047770d
mov ebp, dword [0x4a129c]
mov ecx, dword [0x4a1298]
mov eax, dword [esp + 0x18]
cmp dword [eax + ecx + 0x18], 8
mov edi, dword [eax + ecx + 0x14]
jb 0x43e66c
mov eax, dword [eax + ecx + 4]
jmp 0x43e670
lea eax, [eax + ecx + 4]
cmp dword [esp + 0x1a8], edi
mov esi, dword [esp + 0x1a8]
jb 0x43e682
mov esi, edi
cmp dword [esp + 0x1ac], 8
mov edx, dword [esp + 0x198]
jae 0x43e69a
lea edx, [esp + 0x198]
test esi, esi
jbe 0x43e6b7
mov edi, edi
mov bx, word [edx]
cmp bx, word [eax]
jne 0x43e6da
add edx, 2
add eax, 2
sub esi, 1
jne 0x43e6a0
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x1a8]
cmp esi, edi
jb 0x43e6cd
xor eax, eax
cmp esi, edi
setne al
test eax, eax
je 0x43e6f0
add ebx, 1
add dword [esp + 0x18], 0x60
jmp 0x43e5fe
mov dx, bx
cmp dx, word [eax]
sbb eax, eax
and eax, 0xfffffffe
add eax, 1
je 0x43e6b3
mov ebx, dword [esp + 0x14]
jmp 0x43e6c9
test ecx, ecx
je 0x43e70d
mov edx, ebp
sub edx, ecx
mov eax, 0x2aaaaaab
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x43e71e
call fcn.0047770d
mov ebp, dword [0x4a129c]
mov ecx, dword [0x4a1298]
lea esi, [ebx + ebx*2]
shl esi, 5
mov eax, dword [esi + ecx + 0x58]
test eax, eax
je 0x43e73c
add dword [eax + 4], 1
mov ebp, dword [0x4a129c]
mov ecx, dword [0x4a1298]
test ecx, ecx
mov dword [esp + 0x1c], eax
je 0x43e75d
mov edx, ebp
sub edx, ecx
mov eax, 0x2aaaaaab
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x43e76e
call fcn.0047770d
mov ebp, dword [0x4a129c]
mov ecx, dword [0x4a1298]
test ecx, ecx
mov eax, dword [esi + ecx + 0x30]
mov dword [esp + 0x28], eax
je 0x43e793
mov edx, ebp
sub edx, ecx
mov eax, 0x2aaaaaab
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x43e7a4
call fcn.0047770d
mov ebp, dword [0x4a129c]
mov ecx, dword [0x4a1298]
test ecx, ecx
mov edx, dword [esi + ecx + 0x34]
mov dword [esp + 0x30], edx
je 0x43e7c9
mov edx, ebp
sub edx, ecx
mov eax, 0x2aaaaaab
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x43e7da
call fcn.0047770d
mov ebp, dword [0x4a129c]
mov ecx, dword [0x4a1298]
test ecx, ecx
mov eax, dword [esi + ecx + 0x4c]
mov dword [esp + 0x34], eax
je 0x43e7ff
mov edx, ebp
sub edx, ecx
mov eax, 0x2aaaaaab
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x43e810
call fcn.0047770d
mov ebp, dword [0x4a129c]
mov ecx, dword [0x4a1298]
test ecx, ecx
mov edx, dword [esi + ecx + 0x50]
mov dword [esp + 0x38], edx
je 0x43e835
sub ebp, ecx
mov edx, ebp
mov eax, 0x2aaaaaab
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x43e840
call fcn.0047770d
mov ecx, dword [0x4a1298]
mov eax, dword [esi + ecx + 0x54]
mov dword [esp + 0x2c], eax
xor edi, edi
mov ebx, dword [esp + 0x20]
cmp ebx, edi
jne 0x43e860
cmp byte [esp + 0x1ec], 0
jne 0x43eb09
mov esi, dword [esp + 0x1c]
cmp esi, edi
jne 0x43e884
cmp byte [esp + 0x1f0], 0
jne 0x43eb0d
cmp byte [esp + 0x1f4], 0
jne 0x43eb0d
mov dword [esp + 0x60], 7
mov dword [esp + 0x5c], edi
mov word [esp + 0x4c], di
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], edi
or ebp, 0xffffffff
push ebp
push edi
lea ecx, [esp + 0x19c]
push ecx
lea ecx, [esp + 0x54]
mov byte [esp + 0x198], 3
mov dword [esp + 0x4c], edi
call fcn.00402360
test esi, esi
mov edx, dword [esp + 0x1b0]
mov eax, dword [esp + 0x1b4]
mov ecx, dword [esp + 0x1b8]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x1bc]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x1cc]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x1d0]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x1d4]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x1d8]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x1dc]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], edx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], edi
je 0x43e97b
add dword [esi + 4], 1
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x43e99b
add dword [eax + 4], ebp
mov ecx, eax
add eax, 4
cmp dword [eax], 0
jne 0x43e99b
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
test ebx, ebx
mov dword [esp + 0xa0], esi
je 0x43e9aa
add dword [ebx + 4], 1
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x43e9ca
add dword [eax + 4], ebp
mov ecx, eax
add eax, 4
cmp dword [eax], 0
jne 0x43e9ca
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov dl, byte [esp + 0x1ec]
fldz
mov ecx, dword [esp + 0x20c]
fstp qword [esp + 0x158]
mov eax, dword [esp + 0x24]
mov byte [esp + 0xac], dl
mov dl, byte [esp + 0x1f4]
mov dword [esp + 0xa8], ecx
mov cl, byte [esp + 0x1f0]
mov byte [esp + 0xae], dl
mov edx, dword [esp + 0x1fc]
mov byte [esp + 0xad], cl
mov ecx, dword [esp + 0x1f8]
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0x204]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x200]
mov dword [esp + 0xbc], edx
lea edx, [esp + 0x40]
push edx
mov dword [esp + 0xbc], ecx
xor ecx, ecx
push ecx
mov dword [esp + 0x4c], eax
mov eax, dword [eax + 8]
push 0x1702
push eax
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x178], ecx
mov dword [esp + 0x17c], ecx
mov byte [esp + 0x180], cl
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [esp + 0x40]
mov byte [esp + 0x18c], 2
call fcn.00435c20
test ebx, ebx
mov byte [esp + 0x18c], 1
je 0x43eaaa
add dword [ebx + 4], ebp
jne 0x43eaaa
mov eax, dword [ebx]
mov edx, dword [eax]
push 1
mov ecx, ebx
call edx
test esi, esi
mov byte [esp + 0x18c], 0
je 0x43eac5
add dword [esi + 4], ebp
jne 0x43eac5
mov eax, dword [esi]
mov edx, dword [eax]
push 1
mov ecx, esi
call edx
cmp dword [esp + 0x1ac], 8
jb 0x43eadf
mov eax, dword [esp + 0x198]
push eax
call fcn.004775de
add esp, 4
mov eax, edi
mov ecx, dword [esp + 0x184]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x16c]
xor ecx, esp
call fcn.004777ea
add esp, 0x17c
ret
mov esi, dword [esp + 0x1c]
mov edx, dword [0x4a12b8]
test edx, edx
mov dword [esp + 0x14], edi
jne 0x43eb1f
xor eax, eax
jmp 0x43eb29
mov eax, dword [0x4a12bc]
sub eax, edx
sar eax, 2
cmp edi, eax
jge 0x43ed2e
test edx, edx
je 0x43eb43
mov eax, dword [0x4a12bc]
sub eax, edx
sar eax, 2
cmp edi, eax
jb 0x43eb4e
call fcn.0047770d
mov edx, dword [0x4a12b8]
mov ecx, dword [edx + edi*4]
mov eax, dword [esp + 0x24]
cmp eax, dword [ecx + 4]
jne 0x43ec4b
test edx, edx
je 0x43eb70
mov eax, dword [0x4a12bc]
sub eax, edx
sar eax, 2
cmp edi, eax
jb 0x43eb7b
call fcn.0047770d
mov edx, dword [0x4a12b8]
mov ecx, dword [edx + edi*4]
cmp byte [ecx + 0x130], 0
jne 0x43ec4b
test edx, edx
je 0x43eb9d
mov eax, dword [0x4a12bc]
sub eax, edx
sar eax, 2
cmp edi, eax
jb 0x43eba8
call fcn.0047770d
mov edx, dword [0x4a12b8]
mov eax, dword [edx + edi*4]
cmp dword [eax + 0x128], 0xa
je 0x43ec4b
test edx, edx
je 0x43ebca
mov eax, dword [0x4a12bc]
sub eax, edx
sar eax, 2
cmp edi, eax
jb 0x43ebd5
call fcn.0047770d
mov edx, dword [0x4a12b8]
mov ecx, dword [edx + edi*4]
mov eax, dword [esp + 0x198]
add ecx, 8
cmp dword [esp + 0x1ac], 8
jae 0x43ebf3
lea eax, [esp + 0x198]
mov ebp, dword [ecx + 0x14]
mov esi, ebp
cmp esi, ebp
jae 0x43ebfc
mov ebx, dword [esp + 0x1a8]
cmp ebp, ebx
mov esi, ebp
jb 0x43ec0b
mov esi, ebx
cmp dword [ecx + 0x18], 8
jb 0x43ec16
mov ecx, dword [ecx + 4]
jmp 0x43ec19
add ecx, 4
test esi, esi
jbe 0x43ec37
lea ecx, [ecx]
mov di, word [ecx]
cmp di, word [eax]
jne 0x43ec5b
add ecx, 2
add eax, 2
sub esi, 1
jne 0x43ec20
mov edi, dword [esp + 0x14]
cmp ebp, ebx
jb 0x43ec4b
xor eax, eax
cmp ebp, dword [esp + 0x1a8]
setne al
test eax, eax
je 0x43ec71
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
add edi, 1
jmp 0x43eb13
mov cx, di
cmp cx, word [eax]
sbb eax, eax
and eax, 0xfffffffe
add eax, 1
je 0x43ec33
mov edi, dword [esp + 0x14]
jmp 0x43ec47
mov esi, dword [esp + 0x20c]
test esi, esi
jle 0x43ecd0
test edx, edx
je 0x43ec8e
mov eax, dword [0x4a12bc]
sub eax, edx
sar eax, 2
cmp edi, eax
jb 0x43ec99
call fcn.0047770d
mov edx, dword [0x4a12b8]
mov edx, dword [edx + edi*4]
mov dword [edx + 0x68], esi
mov ecx, dword [0x4a12b8]
test ecx, ecx
je 0x43ecb7
mov eax, dword [0x4a12bc]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x43ecc2
call fcn.0047770d
mov ecx, dword [0x4a12b8]
mov eax, dword [ecx + edi*4]
mov ecx, dword [eax]
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov ecx, dword [esp + 0x20]
or esi, 0xffffffff
test ecx, ecx
mov byte [esp + 0x18c], 1
je 0x43ecf0
add dword [ecx + 4], esi
jne 0x43ecf0
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov ecx, dword [esp + 0x1c]
test ecx, ecx
mov byte [esp + 0x18c], 0
je 0x43ed0d
add dword [ecx + 4], esi
jne 0x43ed0d
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
cmp dword [esp + 0x1ac], 8
jb 0x43ed27
mov ecx, dword [esp + 0x198]
push ecx
call fcn.004775de
add esp, 4
xor eax, eax
jmp 0x43eae1
mov edi, dword [esp + 0x20c]
xor ebp, ebp
cmp edi, ebp
jle 0x43ed49
mov edx, dword [esp + 0x24]
push ebp
push edx
call fcn.0043d4f0
add esp, 8
push 0x140
call fcn.00477736
add esp, 4
cmp eax, ebp
je 0x43ed70
mov dword [eax + 0x1c], ebp
mov dword [eax + 0x20], 7
mov word [eax + 0xc], bp
mov dword [eax + 0x60], ebp
mov dword [eax + 0x64], ebp
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x18], ebp
jne 0x43edd5
or edi, 0xffffffff
test ebx, ebx
mov byte [esp + 0x18c], 1
je 0x43ed96
add dword [ebx + 4], edi
jne 0x43ed96
mov eax, dword [ebx]
mov edx, dword [eax]
push 1
mov ecx, ebx
call edx
test esi, esi
mov byte [esp + 0x18c], 0
je 0x43edb1
add dword [esi + 4], edi
jne 0x43edb1
mov eax, dword [esi]
mov edx, dword [eax]
push 1
mov ecx, esi
call edx
cmp dword [esp + 0x1ac], 8
jb 0x43edcb
mov eax, dword [esp + 0x198]
push eax
call fcn.004775de
add esp, 4
mov eax, 0xffffff37
jmp 0x43eae1
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x19c]
lea esi, [ebp + 8]
push ecx
mov ecx, esi
mov dword [ebp], 0
call fcn.00402360
mov edx, dword [esp + 0x1b0]
mov dword [esi + 0x1c], edx
mov eax, dword [esp + 0x1b4]
mov dword [esi + 0x20], eax
mov ecx, dword [esp + 0x1b8]
mov dword [esi + 0x24], ecx
mov edx, dword [esp + 0x1bc]
mov dword [esi + 0x28], edx
mov eax, dword [esp + 0x1c0]
mov dword [esi + 0x2c], eax
mov ecx, dword [esp + 0x1c4]
mov dword [esi + 0x30], ecx
mov edx, dword [esp + 0x1c8]
mov dword [esi + 0x34], edx
mov eax, dword [esp + 0x1cc]
mov dword [esi + 0x38], eax
mov ecx, dword [esp + 0x1d0]
mov dword [esi + 0x3c], ecx
mov edx, dword [esp + 0x1d4]
mov dword [esi + 0x40], edx
mov eax, dword [esp + 0x1d8]
mov dword [esi + 0x44], eax
mov ecx, dword [esp + 0x1dc]
mov dword [esi + 0x48], ecx
mov edx, dword [esp + 0x1e0]
mov dword [esi + 0x4c], edx
mov eax, dword [esp + 0x1e4]
mov edx, dword [esp + 0x34]
mov dword [esi + 0x50], eax
mov ecx, dword [esp + 0x1e8]
mov eax, dword [esp + 0x38]
mov dword [esi + 0x54], ecx
mov ecx, dword [esp + 0x2c]
mov dword [ebp + 0x54], edx
mov edx, dword [esp + 0x30]
mov dword [ebp + 0x58], eax
mov eax, dword [esp + 0x28]
mov dword [ebp + 0x5c], ecx
mov dword [ebp + 0x3c], edx
mov dword [ebp + 0x38], eax
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x43eeb7
add dword [eax + 4], 1
mov ecx, dword [ebp + 0x60]
test ecx, ecx
je 0x43eecc
add dword [ecx + 4], 0xffffffff
jne 0x43eecc
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov ebx, dword [esp + 0x20]
test ebx, ebx
mov ecx, dword [esp + 0x1c]
mov dword [ebp + 0x60], ecx
je 0x43eedf
add dword [ebx + 4], 1
mov ecx, dword [ebp + 0x64]
test ecx, ecx
je 0x43eef4
add dword [ecx + 4], 0xffffffff
jne 0x43eef4
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov ecx, dword [esp + 0x24]
mov dl, byte [esp + 0x1ec]
mov al, byte [esp + 0x1f0]
mov esi, dword [esp + 0x210]
test esi, esi
mov dword [ebp + 0x64], ebx
mov dword [ebp + 4], ecx
mov cl, byte [esp + 0x1f4]
mov dword [ebp + 0x68], edi
mov byte [ebp + 0x6c], dl
mov edx, dword [esp + 0x1f8]
mov byte [ebp + 0x6d], al
mov eax, dword [esp + 0x1fc]
mov byte [ebp + 0x6e], cl
mov ecx, dword [esp + 0x200]
mov dword [ebp + 0x70], edx
mov edx, dword [esp + 0x204]
mov dword [ebp + 0x74], eax
mov dword [ebp + 0x78], ecx
mov dword [ebp + 0x7c], edx
je 0x43ef68
lea edi, [ebp + 0x84]
mov ecx, 0x23
mov byte [ebp + 0x80], 1
rep movsd dword es:[edi], dword [esi]
jmp 0x43ef6f
mov byte [ebp + 0x80], 0
fldz
xor edi, edi
lea eax, [esp + 0x2c]
fstp qword [ebp + 0x118]
push eax
push edi
push ebp
mov dword [ebp + 0x128], edi
mov dword [ebp + 0x12c], edi
push fcn.004364e0
mov byte [ebp + 0x130], 0
push edi
mov dword [ebp + 0x134], 0x434150
push edi
mov byte [ebp + 0x138], 1
call fcn.00477dd4
add esp, 0x18
cmp eax, edi
mov dword [ebp], eax
jne 0x43f028
mov ecx, ebp
call fcn.00435c20
push ebp
call fcn.004775de
add esp, 4
cmp ebx, edi
mov byte [esp + 0x18c], 1
je 0x43efe6
add dword [ebx + 4], 0xffffffff
jne 0x43efe6
mov edx, dword [ebx]
mov eax, dword [edx]
push 1
mov ecx, ebx
call eax
mov ecx, dword [esp + 0x1c]
cmp ecx, edi
mov byte [esp + 0x18c], 0
je 0x43f004
add dword [ecx + 4], 0xffffffff
jne 0x43f004
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
cmp dword [esp + 0x1ac], 8
jb 0x43f01e
mov ecx, dword [esp + 0x198]
push ecx
call fcn.004775de
add esp, 4
mov eax, 0xffffff36
jmp 0x43eae1
add dword [0x4a0674], 1
cmp dword [ebp + 0x68], edi
jne 0x43f040
mov edx, dword [ebp]
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov esi, dword [0x4a12b8]
cmp esi, edi
mov edx, dword [0x4a12bc]
je 0x43f074
mov ecx, dword [0x4a12c0]
mov eax, edx
sub eax, esi
sub ecx, esi
sar eax, 2
sar ecx, 2
cmp eax, ecx
jae 0x43f074
mov eax, edx
add eax, 4
mov dword [edx], ebp
mov dword [0x4a12bc], eax
jmp 0x43f097
cmp esi, edx
mov edi, edx
jbe 0x43f07f
call fcn.0047770d
lea ecx, [esp + 0x18]
push ecx
mov eax, 0x4a12b4
push edi
push eax
lea edx, [esp + 0x44]
push edx
mov ecx, eax
call fcn.00438ac0
test ebx, ebx
mov byte [esp + 0x18c], 1
je 0x43f0b3
add dword [ebx + 4], 0xffffffff
jne 0x43f0b3
mov eax, dword [ebx]
mov edx, dword [eax]
push 1
mov ecx, ebx
call edx
mov ecx, dword [esp + 0x1c]
test ecx, ecx
mov byte [esp + 0x18c], 0
je 0x43f0d1
add dword [ecx + 4], 0xffffffff
jne 0x43f0d1
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
cmp dword [esp + 0x1ac], 8
jb 0x43f0eb
mov eax, dword [esp + 0x198]
push eax
call fcn.004775de
add esp, 4
mov eax, 0xffffff9d
jmp 0x43eae1