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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1cfe4
call fcn.00632070
push ebx
push esi
push edi
mov edi, ecx
mov edx, 0x6d2a00
lea ecx, [esp + 0x18]
mov dword [esp + 0x20], edi
call fcn.00401367
push dword [eax]
call fcn.00423542
pop ecx
mov ecx, dword [esp + 0x18]
mov dword [edi + 0x624], eax
lea ecx, [ecx - 0x10]
call fcn.004846da
call fcn.00423597
lea ecx, [esp + 0x18]
cmp eax, 0xb7
jne 0x42dea6
mov edx, 0x6d2a40
call fcn.00401367
mov edx, 0x6cd3b4
lea ecx, [esp + 0x20]
mov esi, dword [eax]
call fcn.00401367
mov edx, esi
mov ecx, dword [eax]
call fcn.0041f01b
mov ecx, dword [esp + 0x20]
mov esi, eax
add ecx, 0xfffffff0
call fcn.004846da
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.004846da
push 0
push 0
mov edx, 0x115c
mov ecx, esi
call fcn.0042434f
mov edx, 0x6d2a70
lea ecx, [esp + 0x20]
call fcn.00401367
mov edx, 0x6d2aa0
lea ecx, [esp + 0x28]
mov esi, dword [eax]
call fcn.00401367
push 0x40
push esi
xor ecx, ecx
mov edx, dword [eax]
call fcn.004242e8
mov ecx, dword [esp + 0x30]
add esp, 0x10
lea ecx, [ecx - 0x10]
call fcn.004846da
mov ecx, dword [esp + 0x18]
jmp 0x42ef74
mov edx, 0x6d2af0
call fcn.00401367
push ecx
mov ecx, dword [eax]
call fcn.0041ce1a
pop ecx
mov ecx, dword [esp + 0x18]
mov esi, eax
add ecx, 0xfffffff0
call fcn.004846da
test esi, esi
jne 0x42df00
push 0x98
call fcn.00495158
pop ecx
test eax, eax
je 0x42deeb
push esi
push 0x26b
mov ecx, eax
call fcn.00495b3e
mov ecx, eax
jmp 0x42deed
xor ecx, ecx
mov dword [edi + 0x20], ecx
mov eax, dword [ecx]
call dword [eax + 0x170]
or eax, 0xffffffff
jmp 0x42ef7e
call fcn.004a273c
lea ecx, [esp + 0x90]
mov dword [eax + 0xc], esi
mov dword [esp + 0x90], 8
mov dword [esp + 0x94], 0xff
call fcn.004205a8
call fcn.0041f193
mov ecx, edi
call fcn.004a7f0c
xor ebx, ebx
push ebx
call fcn.004a8d3c
pop ecx
lea eax, [esp + 0x18]
mov ecx, edi
push eax
call fcn.00431024
mov ecx, dword [esp + 0x18]
lea ecx, [ecx - 0x10]
call fcn.004846da
push 0x208
lea edx, [esp + 0xd3c]
call fcn.00423f50
pop ecx
lea eax, [esp + 0xb30]
push eax
push ecx
push ecx
call fcn.004218b2
add esp, 0xc
lea edx, [esp + 0xb30]
lea ecx, [esp + 0xd38]
call fcn.00420c1a
neg eax
lea ecx, [edi + 0xe0]
sbb al, al
inc al
mov byte [edi + 0xdc], al
call fcn.00416b84
movzx eax, byte [edi + 0xdc]
lea ecx, [edi + 0x508]
push eax
call fcn.0042cc17
call fcn.0041fff7
lea edx, [esp + 0x40]
mov ecx, eax
call fcn.00420244
mov dword [esp + 0x14], eax
call fcn.00495959
push eax
lea ecx, [esp + 0x20]
call fcn.00484681
mov ecx, dword [esp + 0x14]
xor esi, esi
inc esi
mov byte [esp + 0x3c], bl
test ecx, ecx
je 0x42e630
cmp dword [esp + 0x40], esi
jle 0x42e630
xor eax, eax
mov dword [esp + 0x2c], esi
inc eax
cmp dword [esp + 0x40], eax
jle 0x42e62d
mov edx, 0x6cd224
lea ecx, [esp + 0x68]
call fcn.00401367
mov ebx, dword [esp + 0x14]
push dword [ebx + esi*4]
push dword [eax]
lea eax, [esp + 0x24]
push eax
call fcn.00485d05
mov ecx, dword [esp + 0x74]
add esp, 0xc
lea ecx, [ecx - 0x10]
call fcn.004846da
mov edx, 0x6d2b10
lea ecx, [esp + 0x78]
call fcn.00401367
mov ecx, dword [ebx + esi*4]
mov edx, dword [eax]
call fcn.00424a2a
mov ecx, dword [esp + 0x78]
mov ebx, eax
neg ebx
sbb bl, bl
add ecx, 0xfffffff0
call fcn.004846da
inc bl
je 0x42e070
xor eax, eax
inc eax
mov dword [edi + 0x62c], eax
mov edx, 0x6d2b30
lea ecx, [esp + 0x64]
call fcn.00401367
mov ecx, dword [esp + 0x14]
mov edx, dword [eax]
mov ecx, dword [ecx + esi*4]
call fcn.00424a2a
mov ecx, dword [esp + 0x64]
mov ebx, eax
neg ebx
sbb bl, bl
add ecx, 0xfffffff0
call fcn.004846da
inc bl
je 0x42e0ab
xor eax, eax
inc eax
mov dword [edi + 0x628], eax
mov edx, 0x6d2b50
lea ecx, [esp + 0x6c]
call fcn.00401367
mov edx, dword [eax]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + esi*4]
call fcn.00424a2a
mov ecx, dword [esp + 0x6c]
mov ebx, eax
neg ebx
sbb bl, bl
add ecx, 0xfffffff0
call fcn.004846da
inc bl
je 0x42e0e6
xor eax, eax
inc eax
mov dword [edi + 0x638], eax
mov edx, 0x6d2b80
lea ecx, [esp + 0x74]
call fcn.00401367
mov edx, dword [eax]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + esi*4]
call fcn.00424a2a
mov ecx, dword [esp + 0x74]
mov ebx, eax
neg ebx
sbb bl, bl
add ecx, 0xfffffff0
call fcn.004846da
inc bl
je 0x42e14f
mov edx, 0x6cd2c8
lea ecx, [esp + 0x4c]
call fcn.00401367
push ecx
push dword [eax]
call fcn.0042dcec
mov ecx, dword [esp + 0x4c]
lea ecx, [ecx - 0x10]
call fcn.004846da
xor eax, eax
inc eax
mov dword [edi + 0x630], eax
mov dword [edi + 0x638], eax
mov dword [edi + 0x634], eax
mov edx, 0x6cd2d4
lea ecx, [esp + 0x54]
call fcn.00401367
mov edx, dword [eax]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + esi*4]
call fcn.00424a2a
mov ecx, dword [esp + 0x54]
mov ebx, eax
neg ebx
sbb bl, bl
add ecx, 0xfffffff0
call fcn.004846da
inc bl
je 0x42e18a
xor eax, eax
inc eax
mov dword [edi + 0x63c], eax
mov edx, 0x6d2ba0
lea ecx, [esp + 0x50]
call fcn.00401367
mov edx, dword [eax]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + esi*4]
call fcn.00424a2a
mov ecx, dword [esp + 0x50]
mov ebx, eax
neg ebx
sbb bl, bl
add ecx, 0xfffffff0
call fcn.004846da
inc bl
je 0x42e257
xor eax, eax
push 0x206
push eax
mov word [esp + 0x110], ax
lea eax, [esp + 0x112]
push eax
call fcn.006290e0
add esp, 0xc
lea edx, [esp + 0x108]
push 0x104
call fcn.00423f50
pop ecx
lea ecx, [esp + 0x108]
call fcn.00421424
push eax
lea ecx, [esp + 0x80]
call fcn.004850bc
call fcn.00495959
push eax
lea ecx, [esp + 0x1c]
call fcn.00484681
mov edi, dword [esp + 0x7c]
lea ebx, [esp + 0x18]
push ecx
add edi, 0xfffffff0
mov esi, esp
push edi
call fcn.0048513b
pop ecx
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.0044c4c1
pop ecx
mov ecx, dword [esp + 0x18]
lea ecx, [ecx - 0x10]
call fcn.004846da
mov ecx, edi
call fcn.004846da
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x2c]
mov edx, 0x6d2bc0
lea ecx, [esp + 0x58]
call fcn.00401367
mov edx, dword [eax]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + esi*4]
call fcn.00424a2a
mov ecx, dword [esp + 0x58]
mov ebx, eax
neg ebx
sbb bl, bl
add ecx, 0xfffffff0
call fcn.004846da
inc bl
je 0x42e292
xor eax, eax
inc eax
mov dword [edi + 0x640], eax
mov edx, 0x6d2be0
lea ecx, [esp + 0x84]
call fcn.00401367
mov edx, dword [eax]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + esi*4]
call fcn.00424a2a
mov ecx, dword [esp + 0x84]
mov ebx, eax
neg ebx
sbb bl, bl
add ecx, 0xfffffff0
call fcn.004846da
inc bl
je 0x42e2d3
xor eax, eax
inc eax
mov dword [edi + 0x644], eax
mov edx, 0x6d2c00
lea ecx, [esp + 0x60]
call fcn.00401367
mov edx, dword [eax]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + esi*4]
call fcn.00424a2a
mov ecx, dword [esp + 0x60]
mov ebx, eax
neg ebx
sbb bl, bl
add ecx, 0xfffffff0
call fcn.004846da
inc bl
je 0x42e30e
xor eax, eax
inc eax
mov dword [edi + 0x648], eax
mov edx, 0x6d2c20
lea ecx, [esp + 0x8c]
call fcn.00401367
mov edx, dword [eax]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + esi*4]
call fcn.00424a2a
mov ecx, dword [esp + 0x8c]
mov ebx, eax
neg ebx
sbb bl, bl
add ecx, 0xfffffff0
call fcn.004846da
inc bl
je 0x42e34f
xor eax, eax
inc eax
mov dword [edi + 0x650], eax
mov edx, 0x6d2c40
lea ecx, [esp + 0x48]
call fcn.00401367
mov edx, dword [eax]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + esi*4]
call fcn.00424a2a
mov ecx, dword [esp + 0x48]
mov ebx, eax
neg ebx
sbb bl, bl
add ecx, 0xfffffff0
call fcn.004846da
inc bl
je 0x42e397
xor eax, eax
inc eax
mov dword [edi + 0x658], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + esi*4 + 4]
call fcn.0042277f
mov edx, 0x6d2c60
lea ecx, [esp + 0x88]
call fcn.00401367
mov edx, dword [eax]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + esi*4]
call fcn.00424a2a
mov ecx, dword [esp + 0x88]
mov ebx, eax
neg ebx
sbb bl, bl
add ecx, 0xfffffff0
call fcn.004846da
inc bl
je 0x42e40b
xor eax, eax
lea ecx, [esp + 0x70]
inc eax
mov edx, 0x6cd348
mov dword [edi + 0x658], eax
call fcn.00401367
mov ecx, dword [esp + 0x14]
push dword [ecx + esi*4 + 4]
push dword [eax]
lea eax, [edi + 0x660]
push eax
call fcn.00484358
mov ecx, dword [esp + 0x7c]
add esp, 0xc
lea ecx, [ecx - 0x10]
call fcn.004846da
mov edx, 0x6d2c80
lea ecx, [esp + 0x80]
call fcn.00401367
mov edx, dword [eax]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + esi*4]
call fcn.00424a2a
mov ecx, dword [esp + 0x80]
mov ebx, eax
neg ebx
sbb bl, bl
add ecx, 0xfffffff0
call fcn.004846da
inc bl
je 0x42e44c
xor eax, eax
inc eax
mov dword [edi + 0x65c], eax
mov edx, 0x6d2cb0
lea ecx, [esp + 0x38]
call fcn.00401367
mov edx, dword [eax]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + esi*4]
call fcn.00424a2a
mov ecx, dword [esp + 0x38]
mov ebx, eax
neg ebx
sbb bl, bl
add ecx, 0xfffffff0
call fcn.004846da
inc bl
je 0x42e5d5
xor eax, eax
xor ebx, ebx
inc eax
mov dword [edi + 0x638], eax
xor eax, eax
push 0x206
mov word [esp + 0x314], ax
lea eax, [esp + 0x316]
push ebx
push eax
call fcn.006290e0
add esp, 0xc
lea edx, [esp + 0x310]
push 0x104
call fcn.00423f50
pop ecx
lea ecx, [esp + 0x310]
call fcn.00423cef
mov edx, 0x6cd5e4
lea ecx, [esp + 0x28]
call fcn.00401367
push eax
push ecx
mov edx, 0x6d2cd0
lea ecx, [esp + 0x3c]
call fcn.00401367
pop ecx
push eax
lea eax, [esp + 0x38]
push eax
call fcn.00484725
add esp, 0xc
lea ecx, [esp + 0x310]
mov edx, dword [eax]
call fcn.0042347e
mov ecx, dword [esp + 0x30]
lea ecx, [ecx - 0x10]
call fcn.004846da
mov ecx, dword [esp + 0x34]
lea ecx, [ecx - 0x10]
call fcn.004846da
mov ecx, dword [esp + 0x28]
lea ecx, [ecx - 0x10]
call fcn.004846da
lea eax, [esp + 0x310]
push eax
lea ecx, [esp + 0x28]
call fcn.004850bc
mov esi, dword [esp + 0x24]
mov ecx, esi
call fcn.00423b87
test eax, eax
je 0x42e5c7
push 0x40
lea eax, [esp + 0xa0]
mov dword [esp + 0x9c], ebx
push ebx
push eax
call fcn.006290e0
add esp, 0xc
lea eax, [esp + 0xe0]
xorps xmm0, xmm0
mov edx, 0x6cd3d4
movdqu xmmword [esp + 0xe0], xmm0
push eax
lea eax, [esp + 0x9c]
push eax
push ecx
push ecx
push 0x400
sub esp, 0xc
mov ecx, esi
call fcn.00423e03
mov eax, dword [esp + 0x100]
add esp, 0x20
test eax, eax
je 0x42e5b0
cmp eax, 0xffffffff
je 0x42e5b0
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0xe4]
test eax, eax
je 0x42e5c7
cmp eax, 0xffffffff
je 0x42e5c7
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esi - 0x10]
call fcn.004846da
mov esi, dword [esp + 0x2c]
jmp 0x42e5d7
xor ebx, ebx
mov edx, 0x6d2cf0
lea ecx, [esp + 0x10]
call fcn.00401367
push dword [eax]
mov eax, dword [esp + 0x18]
push dword [eax + esi*4]
call fcn.006292ca
pop ecx
pop ecx
mov ecx, dword [esp + 0x10]
mov esi, eax
add ecx, 0xfffffff0
call fcn.004846da
mov eax, dword [esp + 0x3c]
test esi, esi
mov esi, dword [esp + 0x2c]
push 1
movzx eax, al
pop ecx
cmovne eax, ecx
inc esi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], esi
cmp esi, dword [esp + 0x40]
jl 0x42e009
mov ecx, dword [esp + 0x14]
xor esi, esi
inc esi
call fcn.0041e96f
cmp dword [edi + 0x63c], ebx
jne 0x42e655
call fcn.0065e43a
test eax, eax
je 0x42e64a
mov eax, esi
jmp 0x42e64f
call fcn.004307fb
mov dword [edi + 0x63c], eax
cmp byte [esp + 0x3c], 0
je 0x42e969
xor eax, eax
push 0x206
mov word [esp + 0x314], ax
lea eax, [esp + 0x316]
push ebx
push eax
call fcn.006290e0
pop ecx
pop ecx
push 0x26
lea edx, [esp + 0x318]
call fcn.00422343
pop ecx
pop ecx
lea ecx, [esp + 0x10]
call fcn.0046d749
lea ecx, [esp + 0x310]
mov edx, dword [eax]
call fcn.0042347e
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004846da
lea edx, [esp + 0x310]
call fcn.0041f24d
xor eax, eax
push 0x206
mov word [esp + 0x724], ax
lea eax, [esp + 0x726]
push ebx
push eax
call fcn.006290e0
pop ecx
pop ecx
push 0x1c
lea edx, [esp + 0x728]
call fcn.00422343
pop ecx
pop ecx
lea ecx, [esp + 0x10]
call fcn.0046d749
lea ecx, [esp + 0x720]
mov edx, dword [eax]
call fcn.0042347e
mov ecx, dword [esp + 0x10]
add ecx, 0xfffffff0
call fcn.004846da
push esi
push ecx
lea eax, [esp + 0x318]
mov ecx, esp
push eax
call fcn.004850bc
push ecx
lea eax, [esp + 0x72c]
mov ecx, esp
push eax
call fcn.004850bc
mov ecx, edi
call fcn.004300f4
xor eax, eax
mov esi, 0x206
push esi
mov word [esp + 0x51c], ax
lea eax, [esp + 0x51e]
push ebx
push eax
call fcn.006290e0
pop ecx
pop ecx
push 0x23
lea edx, [esp + 0x520]
call fcn.00422343
pop ecx
pop ecx
lea ecx, [esp + 0x10]
call fcn.0046d7ba
lea ecx, [esp + 0x518]
mov edx, dword [eax]
call fcn.0042347e
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004846da
lea edx, [esp + 0x518]
call fcn.0041f24d
xor eax, eax
push esi
mov word [esp + 0x10c], ax
lea eax, [esp + 0x10e]
push ebx
push eax
call fcn.006290e0
pop ecx
pop ecx
push 0x1c
lea edx, [esp + 0x110]
call fcn.00422343
pop ecx
pop ecx
lea ecx, [esp + 0x10]
call fcn.0046d7ba
lea ecx, [esp + 0x108]
mov edx, dword [eax]
call fcn.0042347e
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004846da
mov edx, 0x6cd3c8
lea ecx, [esp + 0x30]
call fcn.00401367
push eax
push ecx
lea ecx, [esp + 0x3c]
call fcn.0046d7ba
pop ecx
push eax
push 0x6cd3d8
lea eax, [esp + 0x31c]
push eax
lea ecx, [esp + 0x38]
call fcn.004850bc
push eax
lea eax, [esp + 0x34]
push eax
call fcn.004877ea
add esp, 0xc
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.00484725
add esp, 0xc
push eax
lea eax, [esp + 0x40]
push eax
call fcn.00484725
mov ecx, dword [esp + 0x1c]
add esp, 0xc
lea ecx, [ecx - 0x10]
call fcn.004846da
mov ecx, dword [esp + 0x24]
lea ecx, [ecx - 0x10]
call fcn.004846da
mov ecx, dword [esp + 0x28]
lea ecx, [ecx - 0x10]
call fcn.004846da
mov ecx, dword [esp + 0x34]
lea ecx, [ecx - 0x10]
call fcn.004846da
mov ecx, dword [esp + 0x30]
add ecx, 0xfffffff0
call fcn.004846da
push ebx
push ecx
lea eax, [esp + 0x520]
mov ecx, esp
push eax
call fcn.004850bc
push ecx
lea eax, [esp + 0x114]
mov ecx, esp
push eax
call fcn.004850bc
mov ecx, edi
call fcn.004300f4
push ecx
lea eax, [esp + 0x314]
mov ecx, esp
push eax
call fcn.004850bc
call fcn.0042f0d3
mov esi, dword [esp + 0x38]
push ecx
mov edi, esp
lea ebx, [esi - 0x10]
push ebx
call fcn.0048513b
mov ecx, esp
add eax, 0x10
push ecx
mov dword [edi], eax
call fcn.0046d7ba
pop ecx
call fcn.0042f846
mov eax, dword [esp + 0x20]
push dword [eax + 0x624]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, 0x6d2d20
lea ecx, [esp + 0x10]
call fcn.00401367
push 0x6cd418
lea ecx, [esp + 0x20]
push dword [eax]
call fcn.0048533b
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004846da
push 0x38
lea eax, [esp + 0xa0]
mov dword [esp + 0x9c], 0x3c
push 0
push eax
call fcn.006290e0
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0xa4]
mov dword [esp + 0xb8], eax
add esp, 0xc
xor eax, eax
mov dword [esp + 0xa8], esi
inc eax
mov dword [esp + 0xb4], eax
call fcn.00423ec0
mov ecx, ebx
call fcn.004846da
jmp 0x42ef70
cmp dword [edi + 0x63c], ebx
je 0x42ea47
cmp byte [edi + 0xdc], 0
jne 0x42ea50
xor eax, eax
push 0x206
mov word [esp + 0x10c], ax
lea eax, [esp + 0x10e]
push ebx
push eax
call fcn.006290e0
add esp, 0xc
lea edx, [esp + 0x108]
push 0x104
call fcn.00423f50
lea ecx, [esp + 0x20]
mov dword [esp], 0x6cd488
call fcn.0048aa5d
mov edx, 0x6d2d50
lea ecx, [esp + 0x10]
call fcn.00401367
lea ecx, [esp + 0x1c]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.00485513
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004846da
push dword [edi + 0x624]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x38
lea eax, [esp + 0xa0]
mov dword [esp + 0x9c], 0x3c
push ebx
push eax
call fcn.006290e0
lea eax, [esp + 0x114]
mov dword [esp + 0xc0], esi
add esp, 0xc
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x98]
mov dword [esp + 0xac], eax
call fcn.00423ec0
jmp 0x42ef70
cmp byte [edi + 0xdc], 0
je 0x42eab7
xor eax, eax
push 0x206
mov word [esp + 0x10c], ax
lea eax, [esp + 0x10e]
push ebx
push eax
call fcn.006290e0
pop ecx
pop ecx
push 0x1c
lea edx, [esp + 0x110]
call fcn.00422343
pop ecx
pop ecx
lea ecx, [esp + 0x10]
call fcn.0046d7ba
lea ecx, [esp + 0x108]
mov edx, dword [eax]
call fcn.0042347e
mov ecx, dword [esp + 0x10]
add ecx, 0xfffffff0
call fcn.004846da
push ecx
lea eax, [esp + 0x10c]
mov ecx, esp
push eax
call fcn.004850bc
call fcn.0042fbcc
mov ecx, edi
call fcn.0043156c
test al, al
je 0x42eac8
mov dword [edi + 0x628], esi
cmp dword [edi + 0x63c], ebx
jne 0x42eba6
cmp dword [edi + 0x638], ebx
jne 0x42eba6
cmp dword [edi + 0x628], ebx
jne 0x42eba6
push 0x104
lea edx, [esp + 0x10c]
call fcn.00423f50
pop ecx
test eax, eax
je 0x42eba6
mov edx, 0x6d2d7c
lea ecx, [esp + 0x10]
call fcn.00401367
mov ecx, dword [eax]
call fcn.00423e6e
mov ecx, dword [esp + 0x10]
mov esi, eax
add ecx, 0xfffffff0
call fcn.004846da
push 0x38
lea eax, [esp + 0xa0]
mov dword [esp + 0x9c], 0x3c
push ebx
push eax
call fcn.006290e0
add esp, 0xc
mov dword [esp + 0xa4], esi
lea eax, [esp + 0x108]
mov edx, 0x6cd4d8
lea ecx, [esp + 0x10]
mov dword [esp + 0xa8], eax
call fcn.00401367
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
lea ecx, [ecx - 0x10]
mov dword [esp + 0xac], eax
call fcn.004846da
xor eax, eax
lea ecx, [esp + 0x98]
inc eax
mov dword [esp + 0xb4], eax
call fcn.00423ec0
push dword [edi + 0x624]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x42ef70
mov ecx, 0x73c870
call fcn.0042d095
push eax
mov ecx, 0x73cc90
call fcn.0042c24d
cmp byte [edi + 0x11c], 0
jne 0x42ed1e
mov dword [edi + 0x124], ebx
lea ecx, [edi + 0x104]
xor eax, eax
inc eax
mov byte [edi + 0x140], al
mov byte [edi + 0x141], al
mov dword [edi + 0x148], eax
mov byte [edi + 0x164], al
mov byte [edi + 0x165], al
mov dword [edi + 0x16c], ebx
mov byte [edi + 0x188], al
mov byte [edi + 0x189], al
mov dword [edi + 0x190], ebx
mov byte [edi + 0x1ac], al
mov byte [edi + 0x1ad], al
mov dword [edi + 0x1fc], eax
mov byte [edi + 0x218], al
mov byte [edi + 0x219], al
mov dword [edi + 0x220], eax
mov byte [edi + 0x23c], al
mov byte [edi + 0x23d], al
mov dword [edi + 0x244], eax
mov byte [edi + 0x260], al
mov byte [edi + 0x261], al
mov dword [edi + 0x268], eax
mov byte [edi + 0x284], al
mov byte [edi + 0x285], al
mov dword [edi + 0x28c], eax
mov byte [edi + 0x2a8], al
mov byte [edi + 0x2a9], al
mov dword [edi + 0x2b0], eax
mov byte [edi + 0x2cc], al
mov byte [edi + 0x2cd], al
mov dword [edi + 0x2d4], eax
mov byte [edi + 0x2f0], al
mov byte [edi + 0x2f1], al
mov dword [edi + 0x2f8], eax
mov byte [edi + 0x314], al
mov byte [edi + 0x315], al
mov dword [edi + 0x31c], eax
mov byte [edi + 0x338], al
mov byte [edi + 0x339], al
mov dword [edi + 0x340], eax
mov byte [edi + 0x35c], al
mov byte [edi + 0x35d], al
mov dword [edi + 0x364], eax
mov byte [edi + 0x380], al
mov byte [edi + 0x381], al
mov dword [edi + 0x1d8], eax
mov byte [edi + 0x1f4], al
mov byte [edi + 0x1f5], al
mov dword [edi + 0x3ac], ebx
mov byte [edi + 0x3c8], al
mov byte [edi + 0x3c9], al
mov dword [edi + 0x4e8], 2
mov byte [edi + 0x504], al
mov byte [edi + 0x505], al
call fcn.0042d310
or dword [esp + 0x44], 0xffffffff
lea eax, [esp + 0x44]
push eax
push ecx
call fcn.0041fe3a
pop ecx
push 0x20
pop edx
mov ecx, eax
call fcn.0041fb18
pop ecx
mov edx, 0x6d2d90
lea ecx, [esp + 0x10]
call fcn.00401367
push ecx
mov ecx, dword [esp + 0x48]
mov edx, dword [eax]
call fcn.00430768
pop ecx
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004846da
push dword [esp + 0x44]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov dword [esp + 0x5c], 0x270f
push 0x206
mov word [esp + 0x92c], ax
lea eax, [esp + 0x92e]
push ebx
push eax
call fcn.006290e0
add esp, 0xc
lea edx, [esp + 0x928]
push 0x104
call fcn.00423f50
pop ecx
lea ecx, [esp + 0x928]
call fcn.00421424
push eax
lea ecx, [esp + 0xf4]
call fcn.00484ec6
cmp dword [esp + 0x104], 8
lea esi, [esp + 0xf0]
mov edx, 0x6d2dd0
lea ecx, [esp + 0x10]
cmovae esi, dword [esp + 0xf0]
call fcn.00401367
push 4
lea ecx, [esp + 0x60]
push ecx
mov edx, dword [eax]
mov ecx, SysFreeString
push 4
push esi
call fcn.00420d47
mov ecx, dword [esp + 0x20]
add esp, 0x10
lea ecx, [ecx - 0x10]
call fcn.004846da
lea ecx, [esp + 0x28]
call fcn.00430efc
push eax
push ecx
mov edx, 0x6cd4e8
lea ecx, [esp + 0x2c]
call fcn.00401367
pop ecx
push eax
lea eax, [esp + 0x18]
push eax
call fcn.00484725
add esp, 0xc
mov ecx, edi
push ebx
push dword [eax]
call fcn.0043137e
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004846da
mov ecx, dword [esp + 0x24]
lea ecx, [ecx - 0x10]
call fcn.004846da
mov ecx, dword [esp + 0x28]
lea ecx, [ecx - 0x10]
call fcn.004846da
mov edx, 0x6d2e80
lea ecx, [esp + 0x10]
call fcn.00401367
mov ecx, dword [eax]
call fcn.0041d5ef
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004846da
mov edx, 0x6d2eb0
lea ecx, [esp + 0x10]
call fcn.00401367
mov ecx, dword [eax]
call fcn.0041d5ef
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004846da
mov edx, 0x6d2ee0
lea ecx, [esp + 0x10]
call fcn.00401367
mov ecx, dword [eax]
call fcn.0041d5ef
mov ecx, dword [esp + 0x10]
lea ecx, [ecx - 0x10]
call fcn.004846da
mov edx, 0x6d2f10
lea ecx, [esp + 0x10]
call fcn.00401367
mov ecx, dword [eax]
call fcn.0041d5ef
mov ecx, dword [esp + 0x10]
add ecx, 0xfffffff0
call fcn.004846da
push ecx
lea ecx, [esp + 0xf44]
call fcn.00449c05
cmp dword [0x73ccf8], 0
lea ecx, [esp + 0xf40]
je 0x42ef2d
push ebx
push 0x72
call fcn.00495d75
test eax, eax
je 0x42ef3c
mov ecx, dword [esp + 0xf60]
xor edx, edx
call fcn.00424540
lea eax, [esp + 0xf40]
push ebx
mov ecx, eax
mov dword [edi + 0x20], eax
call fcn.0049e1a4
jmp 0x42ef3c
lea eax, [esp + 0xf40]
mov dword [edi + 0x20], eax
call fcn.004960e0
lea ecx, [edi + 0xe0]
call fcn.00416b56
push dword [edi + 0x624]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0xf40]
call fcn.0044a211
xor eax, eax
lea ecx, [esp + 0xf0]
push ebx
inc eax
push eax
call fcn.00484d07
mov ecx, dword [esp + 0x1c]
lea ecx, [ecx - 0x10]
call fcn.004846da
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret