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

Disassembly:
sub esp, 0x5f8
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], ecx
push ebx
mov dword [esp + 0x18], eax
push ebp
mov dword [esp + 0x28], ecx
push esi
mov dword [esp + 0x24], eax
lea edx, [esp + 0x100]
push edi
mov dword [esp + 0x34], ecx
lea eax, [esp + 0x6c]
push edx
lea ecx, [esp + 0xb0]
push eax
lea edx, [esp + 0x50]
push ecx
lea eax, [esp + 0x6c]
push edx
lea ecx, [esp + 0x4c]
push eax
mov eax, dword [esp + 0x620]
lea edx, [esp + 0x68]
push ecx
push edx
push eax
push 7
push 0x4217bc
mov dword [esp + 0x38], 0
mov dword [esp + 0x40], 0x78
mov byte [esp + 0x7c], 0
mov byte [esp + 0x64], 0
mov byte [esp + 0x88], 0
mov byte [esp + 0xd4], 0
mov byte [esp + 0x70], 0
mov byte [esp + 0x94], 0
mov byte [esp + 0x12c], 0
call fcn.00410fe0
add esp, 0x28
test ax, ax
je 0x40458a
pop edi
pop esi
pop ebp
mov eax, 0x71
pop ebx
add esp, 0x5f8
ret
lea ecx, [esp + 0x54]
push ecx
call fcn.00414030
lea edx, [esp + 0x40]
mov edi, eax
push edx
mov dword [esp + 0x40], edi
call fcn.00414030
mov esi, eax
lea eax, [esp + 0x68]
push eax
call fcn.00414030
lea ecx, [esp + 0x54]
mov dword [esp + 0x28], eax
push ecx
call fcn.00414030
mov ebp, eax
add esp, 0x10
mov dword [esp + 0x14], ebp
call fcn.004036c0
cmp si, 0xffff
je 0x40469b
lea edx, [esp + 0x10]
push edx
push esi
push edi
call fcn.00403d30
mov edi, eax
add esp, 0xc
test di, di
je 0x404634
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x124]
push eax
push ecx
lea edx, [esp + 0xb4]
push ebp
lea eax, [esp + 0x78]
push edx
push eax
push 0
push edi
push 1
call fcn.00411d30
lea ecx, [esp + 0x144]
push ecx
call fcn.00410070
add esp, 0x24
mov eax, edi
and eax, 0xffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5f8
ret
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x18]
push edx
push 0
push 0
push 1
push esi
push eax
call fcn.00411eb0
mov esi, eax
add esp, 0x18
test si, si
je 0x40469b
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x124]
push ecx
push edx
lea eax, [esp + 0xb4]
push ebp
lea ecx, [esp + 0x78]
push eax
push ecx
push 0
push esi
push 1
call fcn.00411d30
lea edx, [esp + 0x144]
push edx
call fcn.00410070
add esp, 0x24
mov eax, esi
and eax, 0xffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5f8
ret
call fcn.00403b50
call fcn.00403a20
mov ebx, dword [0x42644c]
push ebx
call fcn.0040f0c0
add esp, 4
test eax, eax
jne 0x40477c
push ebx
call fcn.0040f0d0
mov ebp, eax
mov ecx, 0x101
mov esi, ebp
lea edi, [esp + 0x208]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0xf0]
lea ecx, [esp + 0x208]
push eax
push ecx
call fcn.00401140
mov dx, word [esp + 0x44]
add esp, 0xc
cmp dx, word [ebp + 0x406]
push ebx
je 0x404711
call fcn.0040f0e0
mov ebx, eax
push ebx
call fcn.0040f0c0
add esp, 8
test eax, eax
je 0x4046bc
jmp 0x404778
call fcn.0040f0e0
mov ebx, eax
push ebx
call fcn.0040f0c0
add esp, 8
test eax, eax
jne 0x404778
push ebx
call fcn.0040f0d0
mov ebp, eax
mov ecx, 0x101
mov esi, ebp
lea edi, [esp + 0x208]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0xf0]
lea ecx, [esp + 0x208]
push eax
push ecx
call fcn.00401140
mov esi, dword [esp + 0x28]
add esp, 0xc
cmp word [esp + 0xec], si
je 0x4047d7
push ebx
call fcn.0040f0e0
mov ebx, eax
push ebx
call fcn.0040f0c0
add esp, 8
test eax, eax
je 0x404725
mov ebp, dword [esp + 0x14]
lea edx, [esp + 0x124]
xor esi, esi
push edx
push esi
lea eax, [esp + 0xb4]
push ebp
lea ecx, [esp + 0x78]
push eax
push ecx
push esi
push 3
push 1
call fcn.00411d30
lea edx, [esp + 0x144]
mov word [esp + 0x214], si
push edx
mov word [esp + 0x222], si
mov word [esp + 0x220], si
call fcn.00410070
add esp, 0x24
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5f8
ret
mov eax, dword [0x431738]
test eax, eax
je 0x404872
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x80
je 0x404855
xor ecx, ecx
mov eax, 0x431682
cmp word [eax - 2], si
jne 0x40480d
mov dx, word [eax]
cmp dx, word [ebp + 0x406]
je 0x40482f
add eax, 8
inc ecx
cmp eax, 0x4316d2
jl 0x4047fb
mov eax, dword [0x431738]
xor edi, edi
mov di, word [ebp + 0x408]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x404876
cmp ecx, 0xa
jge 0x404818
mov eax, dword [0x431684]
test eax, eax
je 0x404818
mov eax, dword [0x431738]
xor edi, edi
mov di, word [ebp + 0x408]
push eax
dec edi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x404876
mov ecx, dword [0x431738]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x5f8
ret
mov edi, dword [esp + 0x1c]
cmp word [ebp + 0x408], 0
jne 0x40489a
push ebp
call fcn.00403e90
add esp, 4
cmp eax, 1
je 0x4048b1
test edi, edi
jl 0x4048b1
cmp word [ebp + 0x408], 0
jbe 0x40496d
xor ecx, ecx
mov cx, word [ebp + 0x40a]
cmp ecx, edi
jl 0x40496d
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x124]
push edx
push eax
lea edx, [esp + 0xb4]
push ecx
lea eax, [esp + 0x78]
push edx
push eax
push 0
push 0x46
push 1
call fcn.00411d30
lea ecx, [esp + 0x144]
push ecx
call fcn.00410070
push 0xffff
lea edx, [esp + 0x48]
push 0x4217b4
push edx
call fcn.00413de0
xor eax, eax
lea ecx, [esp + 0x5c]
mov ax, word [ebp + 0x406]
push eax
push 0x4217b4
push ecx
call fcn.00413de0
lea edx, [esp + 0x68]
lea eax, [esp + 0x5c]
push edx
push eax
push 2
push 0x4217bc
call fcn.00410ae0
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
add esp, 0x4c
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push edx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x614]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.004137e0
add esp, 4
mov eax, 0x46
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5f8
ret
mov eax, dword [ebp + 0x418]
lea ebx, [ebp + 0x418]
test eax, eax
jne 0x404986
push ebx
call fcn.0040f0f0
add esp, 4
push 0xd8
call fcn.00413ba0
mov esi, eax
add esp, 4
test esi, esi
jne 0x4049a9
pop edi
pop esi
pop ebp
mov eax, 0x40
pop ebx
add esp, 0x5f8
ret
mov ax, word [0x426448]
push 0
inc ax
mov word [0x426448], ax
mov word [esi], ax
mov dword [esi + 4], 0
call fcn.00414040
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0xb0]
push 0x3f
lea eax, [esi + 0x10]
push edx
push eax
mov dword [esi + 0xd4], ecx
call fcn.00414150
lea ecx, [esp + 0x7c]
push 0x3f
lea edx, [esi + 0x50]
push ecx
push edx
call fcn.00414150
lea eax, [esp + 0x120]
push 0x3f
lea ecx, [esi + 0x90]
push eax
push ecx
call fcn.00414150
mov edx, dword [esp + 0x3c]
push esi
push ebx
mov dword [esi + 0xd0], edx
call fcn.0040f100
xor eax, eax
add esp, 0x30
mov ax, word [ebp + 0x408]
inc word [ebp + 0x40a]
cmp edi, eax
je 0x404a95
cmp word [ebp + 0x410], 0
jne 0x404a75
xor ecx, ecx
xor edx, edx
mov cx, word [ebp + 0x40a]
mov dx, word [ebp + 0x40e]
inc ecx
cmp edx, ecx
jge 0x404a6a
mov ax, word [ebp + 0x40a]
inc ax
mov word [ebp + 0x40e], ax
mov word [ebp + 0x410], 1
jmp 0x404abc
mov cx, word [ebp + 0x40e]
cmp cx, word [ebp + 0x40a]
jae 0x404abc
mov dx, word [ebp + 0x40a]
mov word [ebp + 0x40e], dx
jmp 0x404abc
mov ax, word [ebp + 0x40e]
cmp ax, word [ebp + 0x40a]
jae 0x404ab3
mov cx, word [ebp + 0x40a]
mov word [ebp + 0x40e], cx
mov word [ebp + 0x410], 0
xor edx, edx
lea eax, [esp + 0x20]
mov dx, word [esi]
push edx
push 0x4217b4
push eax
call fcn.00413de0
xor ecx, ecx
lea edx, [esp + 0x38]
mov cx, word [ebp + 0x406]
push ecx
push 0x4217b4
push edx
call fcn.00413de0
lea eax, [esp + 0x44]
lea ecx, [esp + 0x38]
push eax
push ecx
push 2
push 0x4217bc
call fcn.00410ae0
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push edx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x63c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.004137e0
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0x150]
push ecx
push ebp
lea eax, [esp + 0xe0]
push edx
lea ecx, [esp + 0xa4]
push eax
push ecx
push 0
push 0
push 1
call fcn.00411d30
add esp, 0x4c
lea edx, [esp + 0x124]
push edx
call fcn.00410070
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5f8
ret