Function at 0x443730
Capabilities:
Check for peb beingdebugged flag

Disassembly:
push 0xffffffffffffffff
push 0x4957b8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x44
mov al, byte [esp + 2]
push ebx
mov ebx, ecx
mov byte [esp + 0x18], al
push ebp
xor edx, edx
xor eax, eax
xor ecx, ecx
push esi
push edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
lea esi, [ebx + 0x30]
lea edi, [esp + 0x24]
cmp edi, esi
mov dword [esp + 0x5c], ecx
je 0x443879
mov edi, dword [esi + 4]
test edi, edi
je 0x44378d
mov eax, dword [esi + 8]
sub eax, edi
jne 0x4437e1
mov eax, dword [esi + 8]
push 0
push eax
push edi
call fcn.00443d50
mov ecx, dword [esp + 0x38]
add esp, 0xc
push ecx
push eax
lea ecx, [esp + 0x2c]
call fcn.0041b550
mov eax, dword [esi + 4]
test eax, eax
jne 0x4437c8
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
xor esi, esi
lea eax, [esi + edx]
mov dword [esp + 0x2c], eax
jmp 0x443879
mov esi, dword [esi + 8]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
sub esi, eax
lea eax, [esi + edx]
mov dword [esp + 0x2c], eax
jmp 0x443879
test eax, eax
push 0
ja 0x44381e
push edi
push edi
call fcn.00443d50
mov edx, dword [esp + 0x38]
mov eax, dword [esi + 8]
add esp, 0xc
lea ecx, [esp + 0x24]
push edx
push eax
push edi
call fcn.0041b560
mov eax, dword [esi + 4]
test eax, eax
jne 0x4437c8
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
xor esi, esi
lea eax, [esi + edx]
mov dword [esp + 0x2c], eax
jmp 0x443879
push 0
lea ecx, [esp + 0x2c]
call fcn.0041b550
mov eax, dword [esp + 0x28]
push eax
call fcn.004903c3
mov ecx, dword [esi + 4]
add esp, 4
test ecx, ecx
jne 0x443841
xor eax, eax
jmp 0x443846
mov eax, dword [esi + 8]
sub eax, ecx
test eax, eax
jge 0x44384c
xor eax, eax
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov ecx, dword [esi + 8]
mov esi, dword [esi + 4]
add esp, 4
mov dword [esp + 0x28], eax
push eax
push ecx
push esi
lea ecx, [esp + 0x30]
call fcn.0041b560
mov edx, dword [esp + 0x28]
mov ecx, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
mov ebp, dword [ebx + 0x58]
mov ebx, dword [ebx + 0x54]
mov esi, ebp
sub ecx, eax
sub esi, ebx
mov dword [esp + 0x14], ebp
cmp ecx, esi
mov edi, eax
jae 0x44394d
test edx, edx
je 0x44389f
mov ecx, eax
sub ecx, edx
cmp esi, ecx
jb 0x4438a1
mov ecx, esi
test edx, edx
jne 0x4438a9
xor eax, eax
jmp 0x4438ab
sub eax, edx
add eax, ecx
test eax, eax
mov dword [esp + 0x1c], eax
jge 0x4438b7
xor eax, eax
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov ecx, dword [esp + 0x2c]
add esp, 4
mov ebp, eax
push ebp
push edi
push ecx
lea ecx, [esp + 0x30]
call fcn.0041b560
mov edx, dword [esp + 0x14]
push eax
push edx
push ebx
lea ecx, [esp + 0x30]
call fcn.0041b560
push eax
mov eax, dword [esp + 0x30]
push eax
push edi
lea ecx, [esp + 0x30]
call fcn.0041b560
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
push ecx
push edx
lea ecx, [esp + 0x2c]
call fcn.0041b550
mov eax, dword [esp + 0x28]
push eax
call fcn.004903c3
mov ecx, dword [esp + 0x20]
add esp, 4
lea edx, [ecx + ebp]
mov ecx, dword [esp + 0x28]
test ecx, ecx
mov dword [esp + 0x30], edx
jne 0x443937
xor eax, eax
mov edx, ebp
mov eax, ebp
mov dword [esp + 0x28], edx
add eax, esi
mov dword [esp + 0x2c], eax
jmp 0x4439a4
mov eax, dword [esp + 0x2c]
mov edx, ebp
sub eax, ecx
mov dword [esp + 0x28], edx
add eax, ebp
add eax, esi
mov dword [esp + 0x2c], eax
jmp 0x4439a4
test esi, esi
jbe 0x4439a4
lea ecx, [eax + esi]
push ecx
push eax
push eax
lea ecx, [esp + 0x30]
call fcn.0041b560
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x24]
push eax
sub eax, edi
add eax, ebx
push ebp
push eax
call fcn.0041b560
mov edx, dword [esp + 0x2c]
push edi
sub edx, edi
add edx, ebx
push edx
jmp 0x44398d
push ebx
call fcn.00443d50
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
add esp, 0xc
add eax, esi
mov dword [esp + 0x2c], eax
test edx, edx
jne 0x4439ac
xor eax, eax
jmp 0x4439ae
sub eax, edx
mov ebp, dword [esp + 0x20]
push eax
lea esi, [ebp + 0xc]
mov ecx, esi
call fcn.00421275
mov cl, byte [esp + 0x12]
xor ebx, ebx
mov dword [esp + 0x18], eax
mov byte [esp + 0x34], cl
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
cmp eax, ebx
mov byte [esp + 0x5c], 1
mov byte [esp + 0x12], bl
jbe 0x4439f4
lea edx, [esp + 0x12]
lea ecx, [esp + 0x34]
push edx
push eax
push ebx
call fcn.00413a58
mov ecx, dword [esp + 0x28]
cmp ecx, ebx
jne 0x443a00
xor eax, eax
jmp 0x443a06
mov eax, dword [esp + 0x2c]
sub eax, ecx
lea edx, [esp + 0x18]
push edx
mov edx, dword [esp + 0x3c]
push edx
push eax
push ecx
mov ecx, esi
call fcn.0041f981
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
cmp eax, ebx
mov byte [esp + 0x12], 0
jne 0x443a2e
xor esi, esi
jmp 0x443a32
mov esi, edx
sub esi, eax
mov ecx, dword [esp + 0x18]
cmp esi, ecx
jae 0x443a5a
cmp eax, ebx
jne 0x443a42
xor esi, esi
jmp 0x443a46
mov esi, edx
sub esi, eax
lea eax, [esp + 0x12]
sub ecx, esi
push eax
push ecx
push edx
lea ecx, [esp + 0x40]
call fcn.00413a58
jmp 0x443a73
cmp eax, ebx
je 0x443a7b
mov esi, edx
sub esi, eax
cmp ecx, esi
jae 0x443a7b
add eax, ecx
push edx
push eax
lea ecx, [esp + 0x3c]
call fcn.00413bce
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
mov esi, dword [ebp + 0x44]
cmp esi, ebx
jne 0x443a86
xor ecx, ecx
jmp 0x443a8b
mov ecx, dword [ebp + 0x48]
sub ecx, esi
cmp eax, ebx
jne 0x443a93
xor edx, edx
jmp 0x443a95
sub edx, eax
lea esi, [ebp + 0x60]
lea ecx, [edx + ecx + 0xc]
mov word [esi], cx
mov ecx, esi
call fcn.0041ba79
mov eax, dword [ebp + 0x44]
mov byte [esp + 0x14], 0xfe
cmp eax, ebx
jne 0x443ab6
xor ecx, ecx
jmp 0x443abb
mov ecx, dword [ebp + 0x48]
sub ecx, eax
mov edx, dword [esp + 0x38]
cmp edx, ebx
jne 0x443ac7
xor eax, eax
jmp 0x443acd
mov eax, dword [esp + 0x3c]
sub eax, edx
lea edx, [esp + 0x13]
lea edi, [eax + ecx + 0xf]
push edx
lea ecx, [esp + 0x48]
mov word [esp + 0x19], di
call fcn.00413bfa
movsx ecx, di
lea eax, [esp + 0x12]
mov byte [esp + 0x5c], 2
push eax
push ecx
lea ecx, [esp + 0x4c]
mov byte [esp + 0x1a], 0
call fcn.00412d07
mov edx, dword [esp + 0x48]
mov ax, word [esp + 0x14]
mov cl, byte [esp + 0x16]
mov word [edx], ax
mov byte [edx + 2], cl
mov edx, dword [esp + 0x48]
mov eax, dword [esi]
add edx, 3
mov dword [edx], eax
mov ecx, dword [esi + 4]
mov dword [edx + 4], ecx
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov eax, dword [ebp + 0x44]
cmp eax, ebx
jne 0x443b35
xor ecx, ecx
jmp 0x443b3a
mov ecx, dword [ebp + 0x48]
sub ecx, eax
mov edx, dword [esp + 0x48]
mov esi, dword [ebp + 0x44]
mov eax, ecx
lea edi, [edx + 0xf]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x38]
cmp esi, ebx
jne 0x443b5e
xor ecx, ecx
jmp 0x443b64
mov ecx, dword [esp + 0x3c]
sub ecx, esi
mov edx, dword [ebp + 0x44]
cmp edx, ebx
jne 0x443b6f
xor eax, eax
jmp 0x443b74
mov eax, dword [ebp + 0x48]
sub eax, edx
mov edx, dword [esp + 0x48]
lea edi, [eax + edx + 0xf]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x1388
div ecx
mov ecx, ebp
add edx, 0x2710
push edx
call fcn.00443c20
push eax
mov ecx, ebp
call fcn.0044aae0
test al, al
je 0x443bdf
mov ecx, dword [esp + 0x48]
cmp ecx, ebx
jne 0x443bbf
xor eax, eax
jmp 0x443bc5
mov eax, dword [esp + 0x4c]
sub eax, ecx
mov dx, word [ebp + 0x2c]
push eax
mov eax, dword [ebp + 0x28]
push ecx
push edx
push eax
mov ecx, ebp
call fcn.0044abe0
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [esp + 0x44]
mov byte [esp + 0x5c], 1
call fcn.0041488b
lea ecx, [esp + 0x34]
mov byte [esp + 0x5c], 0
call fcn.0041488b
lea ecx, [esp + 0x24]
mov dword [esp + 0x5c], 0xffffffff
call fcn.0041488b
mov ecx, dword [esp + 0x54]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x50
ret