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

Disassembly:
sub esp, 0x10c
xor eax, eax
push ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x114]
push ebp
push esi
push edi
mov ebp, dword [eax + 4]
mov dword [esp + 0x14], 1
mov eax, dword [ebp + 0x11c]
and eax, 1
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x14]
mov ebx, 1
cmp eax, ebx
jle 0x441af6
mov eax, dword [esp + 0x74]
cmp eax, 8
je 0x441a62
cmp eax, 7
je 0x441a62
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
add eax, ecx
mov dword [esp + 0x28], eax
jmp 0x441ade
mov eax, dword [esp + 0x3c]
xor edx, edx
cmp eax, edx
je 0x441a8c
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
add ecx, eax
mov eax, dword [esp + 0x14]
dec eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x3c], edx
jmp 0x441e10
cmp dword [esp + 0x44], edx
je 0x441a96
mov dword [esp + 0x3c], ebx
mov esi, dword [esp + 0x78]
xor eax, eax
cmp esi, edx
jle 0x441ac0
lea ecx, [esp + 0x100]
mov edi, dword [esp + eax*4 + 0x58]
add ecx, 4
sub edi, dword [esp + eax*4 + 0xe4]
imul edi, dword [ecx - 4]
add edx, edi
inc eax
cmp eax, esi
jl 0x441aa7
mov ecx, dword [esp + 0x7c]
lea eax, [esp + 0x58]
add edx, ecx
mov dword [esp + 0x28], edx
lea edx, [esp + 0x74]
push edx
push eax
push 0
call fcn.004323f0
add esp, 0xc
mov eax, dword [esp + 0x14]
mov dword [ebp + 0xe4], 0
dec eax
mov dword [esp + 0x14], eax
jmp 0x441e10
lea ecx, [esp + 0x74]
lea edx, [esp + 0x28]
push ecx
lea eax, [esp + 0x12c]
push edx
lea ecx, [esp + 0x12c]
push eax
push ecx
call fcn.00431dc0
xor edi, edi
add esp, 0x10
cmp eax, edi
mov dword [esp + 0x1c], eax
jne 0x442701
mov ecx, dword [esp + 0x30]
cmp ecx, 2
je 0x442370
cmp ecx, ebx
jne 0x441b40
mov dword [esp + 0x54], ebx
jmp 0x441e10
mov eax, dword [esp + 0x74]
cmp eax, 8
je 0x441c1e
cmp eax, 7
je 0x441c1e
cmp eax, 5
je 0x441b9c
cmp eax, 6
je 0x441b9c
cmp ecx, 0x1c
jl 0x441b85
cmp ecx, 0x2c
jg 0x441b85
mov edx, dword [esp + 0x34]
mov dword [esp + 0x14], 2
mov dword [esp + 0x18], edx
mov dword [ebp + 0xe4], edi
jmp 0x441e10
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
mov dword [ebp + 0xe4], edi
jmp 0x441e10
mov al, byte [ebp + 0x11c]
mov ecx, dword [esp + 0x2c]
mov esi, ebx
mov dword [esp + 0x18], ecx
test al, 1
mov dword [esp + 0x14], esi
je 0x441bf1
lea edx, [esp + 0x28]
push ebp
push edx
call fcn.00432a50
add esp, 8
test eax, eax
je 0x441bed
mov ecx, dword [esp + 0x34]
cmp ecx, edi
je 0x441be1
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x18], ecx
cdq
idiv ecx
mov esi, eax
mov dword [esp + 0x14], esi
jmp 0x441bf1
xor esi, esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], esi
jmp 0x441bf1
mov dword [esp + 0x4c], edi
mov eax, dword [ebp + 0x11c]
test ah, 1
je 0x441e10
cmp esi, edi
jne 0x441c13
mov dword [ebp + 0xe4], ebx
mov dword [esp + 0x40], ebx
jmp 0x441e10
mov dword [ebp + 0xe4], edi
jmp 0x441e10
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x2c]
cmp ecx, edi
je 0x441c31
mov eax, ebx
cdq
idiv ecx
jmp 0x441c33
xor eax, eax
xor esi, esi
cmp eax, edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
jne 0x441c4e
mov dword [esp + 0x40], 1
jmp 0x441e0b
mov eax, dword [esp + 0x30]
cmp eax, 0x1c
jl 0x441c6b
cmp eax, 0x2c
jg 0x441c6b
mov eax, 1
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], eax
jmp 0x441c6f
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x78]
cmp edi, 1
jl 0x441d31
cmp ecx, dword [esp + 0x88]
jne 0x441d31
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
cmp eax, ecx
jg 0x441d31
cmp eax, 1
jne 0x441d31
cmp edi, eax
mov esi, eax
jle 0x441ce0
cmp edi, eax
mov ecx, eax
jle 0x441ce0
lea eax, [esp + 0x8c]
test esi, esi
je 0x441d35
cmp dword [eax + 4], 1
jne 0x441cd6
cmp dword [eax], 1
jl 0x441cd6
mov edx, dword [eax - 4]
imul edx, dword [eax - 0xc]
cmp dword [eax + 8], edx
je 0x441cd8
xor esi, esi
inc ecx
add eax, 0xc
cmp ecx, edi
jl 0x441cbb
test esi, esi
je 0x441d35
test byte [ebp + 0x11c], 1
je 0x441d21
lea eax, [esp + 0x28]
push ebp
push eax
call fcn.00432a50
add esp, 8
test eax, eax
jne 0x441d19
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x78]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], ecx
jmp 0x441d31
mov edi, dword [esp + 0x78]
xor esi, esi
jmp 0x441d31
test esi, esi
je 0x441d35
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], ebx
test esi, esi
jne 0x441db3
xor eax, eax
test edi, edi
jle 0x441d66
lea esi, [esp + 0x58]
lea ecx, [esp + 0x88]
mov edx, dword [ecx - 4]
mov ebx, dword [ecx]
mov dword [esp + eax*4 + 0xe4], edx
mov dword [esp + eax*4 + 0x100], ebx
mov dword [esi], edx
inc eax
add ecx, 0xc
add esi, 4
cmp eax, edi
jl 0x441d46
xor eax, eax
xor edx, edx
test edi, edi
jle 0x441d8f
lea ecx, [esp + 0x100]
mov esi, dword [esp + eax*4 + 0x58]
mov ebx, dword [esp + eax*4 + 0xe4]
sub esi, ebx
imul esi, dword [ecx]
add edx, esi
inc eax
add ecx, 4
cmp eax, edi
jl 0x441d75
mov eax, dword [esp + 0x7c]
lea ecx, [esp + 0x74]
add edx, eax
push ecx
mov dword [esp + 0x2c], edx
lea edx, [esp + 0x5c]
push edx
push 0
call fcn.004323f0
mov eax, dword [esp + 0x34]
add esp, 0xc
jmp 0x441dbb
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x18]
cmp ecx, 4
jne 0x441de2
test byte [ebp + 0x2c], 3
jne 0x441dd8
test al, 3
jne 0x441dd8
mov dword [esp + 0x38], 1
jmp 0x441e01
mov dword [esp + 0x38], 0
jmp 0x441e01
cmp ecx, 8
jne 0x441e01
test byte [ebp + 0x2c], 7
jne 0x441df9
test al, 7
mov dword [esp + 0x24], 1
je 0x441e01
mov dword [esp + 0x24], 0
mov dword [ebp + 0xe4], 0
mov ebx, 1
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x4423d1
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x441a33
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x4c]
xor esi, esi
mov dword [esp + 0x20], ebx
test eax, eax
mov dword [esp + 0x48], esi
je 0x441e85
cmp dword [esp + 0x30], 0x38
je 0x441e85
lea ecx, [esp + 0xd4]
lea edx, [esp + 0x28]
push ecx
push ebp
push ebx
push edx
call fcn.004325a0
add esp, 0x10
lea ecx, [esp + 0xd4]
test eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], ecx
je 0x441e85
push esi
push 0x4000005f
call fcn.0042ea90
add esp, 8
mov eax, dword [ebp + 0x11c]
mov ecx, eax
and ecx, 0x800000
je 0x441f0e
cmp dword [esp + 0x14], 1
jne 0x441f0e
mov edx, dword [esp + 0x124]
cmp byte [edx], 1
jne 0x441f0e
and eax, 0xff7fffff
push ebx
mov dword [ebp + 0x11c], eax
mov eax, dword [esp + 0x14]
push eax
push ebp
call fcn.00442cd0
add esp, 0xc
test eax, eax
je 0x441f1d
mov ecx, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x30]
add ecx, ebx
cmp ecx, eax
jbe 0x441ef4
mov eax, dword [ebp + 0x118]
test ah, 0x80
je 0x441f1d
mov al, byte [ebp + 0x10c]
cmp al, 1
je 0x441f1d
cmp al, 3
je 0x441f1d
mov edx, dword [esp + 0x10]
mov dword [ebp + 0x7c], edx
jmp 0x441efb
mov eax, dword [esp + 0x10]
mov dword [ebp + 0x7c], eax
mov eax, dword [ebp + 0x11c]
mov dword [ebp + 0xf0], ebx
or eax, 0x2000000
jmp 0x441f17
test ecx, ecx
je 0x441f1d
and eax, 0xff7fffff
mov dword [ebp + 0x11c], eax
mov eax, dword [ebp + 0x11c]
and eax, 0x2000000
jne 0x442171
cmp dword [ebp + 0xf4], 7
je 0x442171
mov edi, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x30]
lea ecx, [ebx + edi]
cmp ecx, eax
jbe 0x4420ac
mov dword [esp + 0x48], 1
cmp byte [ebp + 0x10c], 3
je 0x44281e
cmp ebx, 0x200
mov eax, ebx
jg 0x441f70
mov eax, 0x200
test dword [ebp + 0x11c], 0x20000
jne 0x4427bc
mov esi, dword [ebp + 0xa8]
mov edi, dword [ebp + 0xac]
mov ebx, dword [ebp + 0xb0]
push eax
push ebp
call fcn.00432220
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
je 0x442093
mov eax, dword [ebp + 0x118]
test ah, 0x80
je 0x44237d
cmp byte [ebp + 0x10c], 1
je 0x44237d
mov edx, dword [esp + 0x20]
mov dword [ebp + 0xa8], esi
mov esi, dword [ebp + 0x2c]
mov dword [ebp + 0xac], edi
mov edi, dword [ebp + 0x28]
mov dword [ebp + 0xb0], ebx
mov ebx, dword [ebp + 0x11c]
sub esi, edi
or ebx, 0x20000
lea eax, [esi + edx]
mov dword [ebp + 0x11c], ebx
mov dword [ebp + 0xd0], eax
mov ecx, dword [esp + 0x124]
cmp byte [ecx], 1
jne 0x44202e
cmp dword [esp + 0x14], 1
jne 0x44202e
push eax
push ebp
call fcn.004428c0
add esp, 8
test eax, eax
jne 0x4423b9
or dword [ebp + 0x11c], 0x40000
jmp 0x442047
mov edx, dword [ebp + 0xa0]
push 1
push 0
push 0
push edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp + 0xcc], eax
mov ecx, dword [ebp + 0x28]
lea eax, [esp + 0x50]
push 0
push eax
push esi
push ecx
push ebp
call fcn.004429a0
add esp, 0x14
test eax, eax
jne 0x4423b9
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x54]
push edx
push eax
push ecx
push ebp
call fcn.004429a0
add esp, 0x14
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x4423b9
mov edx, dword [ebp + 0x28]
mov dword [esp + 0x20], eax
mov dword [ebp + 0x2c], edx
mov ebx, dword [esp + 0x20]
mov edi, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x30]
lea ecx, [ebx + edi]
cmp ecx, eax
ja 0x441f54
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4420db
test esi, esi
je 0x4420db
mov al, byte [ebp + 0x2c]
mov edx, dword [esp + 0x10]
test al, 3
jne 0x4420d3
test dl, 3
jne 0x4420d3
mov eax, 1
mov dword [esp + 0x38], eax
jmp 0x442110
xor eax, eax
mov dword [esp + 0x38], eax
jmp 0x442110
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x44210c
test esi, esi
je 0x44210c
mov cl, byte [ebp + 0x2c]
mov edx, dword [esp + 0x10]
test cl, 7
jne 0x442102
test dl, 7
jne 0x442102
mov dword [esp + 0x24], 1
jmp 0x442110
mov dword [esp + 0x24], 0
jmp 0x442110
mov edx, dword [esp + 0x10]
cmp ebx, 4
jne 0x44212d
test eax, eax
je 0x44212d
mov eax, dword [ebp + 0x2c]
mov ecx, dword [edx]
mov dword [eax], ecx
mov eax, dword [ebp + 0x2c]
add eax, ebx
mov dword [ebp + 0x2c], eax
jmp 0x441a33
cmp ebx, 8
jne 0x442154
mov eax, dword [esp + 0x24]
test eax, eax
je 0x442154
mov eax, dword [ebp + 0x2c]
mov ecx, dword [edx]
mov dword [eax], ecx
mov edx, dword [edx + 4]
mov dword [eax + 4], edx
mov eax, dword [ebp + 0x2c]
add eax, ebx
mov dword [ebp + 0x2c], eax
jmp 0x441a33
mov edi, dword [ebp + 0x2c]
mov ecx, ebx
mov eax, ecx
mov esi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
add dword [ebp + 0x2c], ebx
jmp 0x441a33
test eax, eax
jne 0x441a33
cmp dword [ebp + 0xf4], 7
jne 0x441a33
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x30]
sub ecx, eax
cmp ecx, 1
jg 0x442295
push ebp
call fcn.0042c220
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x4423b9
mov eax, dword [ebp + 0x120]
push 0
and al, 0xdf
push ebp
mov dword [ebp + 0x120], eax
call fcn.0042d5a0
add esp, 8
test eax, eax
jne 0x44263c
movsx eax, byte [ebp + 0x10c]
dec eax
cmp eax, 6
ja case.default.0x4421de
jmp dword [eax*4 + 0x442880]
test byte [ebp + 0x11c], 2
je 0x4421fe
mov edx, dword [ebp + 0x28]
mov byte [edx + 2], 0
mov eax, dword [ebp + 0x28]
mov byte [eax + 3], 1
jmp 0x44220c
mov ecx, dword [ebp + 0x28]
mov byte [ecx + 2], 1
mov edx, dword [ebp + 0x28]
mov byte [edx + 3], 0
mov eax, dword [ebp + 0x28]
mov edx, dword [ebp + 0xac]
add edx, eax
lea ecx, [eax + 4]
mov dword [ebp + 0x30], edx
mov dword [ebp + 0x2c], ecx
jmp 0x44227b
mov eax, dword [ebp + 0x28]
mov edx, dword [ebp + 0xac]
lea ecx, [eax + 4]
lea eax, [edx + eax - 4]
mov dword [ebp + 0x2c], ecx
mov dword [ebp + 0x30], eax
jmp 0x44227b
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0xac]
mov dword [ebp + 0x2c], eax
lea edx, [ecx + eax - 1]
mov dword [ebp + 0x30], edx
jmp 0x44227b
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0xac]
add ecx, eax
mov dword [ebp + 0x2c], eax
mov dword [ebp + 0x30], ecx
jmp 0x44227b
push 0x740
push 0x49236c
push 2
push 0xc0000008
call fcn.0042ea90
add esp, 0x10
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x100]
sub ecx, eax
cmp ecx, edx
jl 0x44228f
mov ecx, edx
mov dword [ebp + 0x104], ecx
mov ecx, dword [ebp + 0x100]
test ecx, ecx
jge 0x4422dd
mov byte [ebp + 0x115], 0x81
mov byte [eax], 0x81
mov eax, dword [ebp + 0x2c]
xor ecx, ecx
inc eax
mov dword [ebp + 0x2c], eax
mov edx, eax
mov al, byte [ebp + 0x115]
cmp al, 0x81
sete cl
and eax, 0xff
sub eax, ecx
mov ecx, dword [ebp + 0x30]
sub ecx, edx
mov dword [ebp + 0x100], eax
cmp ecx, eax
jge 0x4422d7
mov eax, ecx
mov dword [ebp + 0x104], eax
test ebx, ebx
je 0x441a33
mov eax, dword [ebp + 0x100]
test eax, eax
jne 0x442310
mov edx, dword [ebp + 0x2c]
mov al, byte [ebp + 0x115]
mov dword [ebp + 0x100], 0xffffffff
mov byte [edx], al
mov eax, dword [ebp + 0x2c]
inc eax
mov dword [ebp + 0x2c], eax
jmp 0x442186
mov eax, dword [ebp + 0x104]
cmp eax, ebx
jb 0x44231c
mov eax, ebx
test eax, eax
jbe 0x442186
mov esi, dword [esp + 0x10]
mov edi, dword [ebp + 0x2c]
mov ecx, eax
sub ebx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp + 0x104]
mov esi, dword [ebp + 0x100]
mov edx, dword [ebp + 0x2c]
mov ecx, dword [esp + 0x10]
sub edi, eax
sub esi, eax
add edx, eax
add ecx, eax
mov dword [ebp + 0x104], edi
mov dword [ebp + 0x100], esi
mov dword [ebp + 0x2c], edx
mov dword [esp + 0x10], ecx
jmp 0x442186
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret
push ebp
push 0xc0000042
push 0xc0000042
push 1
call fcn.0042eac0
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret
mov eax, dword [esp + 0x1c]
push ebp
push eax
push eax
push 1
call fcn.0042eac0
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret
push ebp
push eax
push eax
push 1
call fcn.0042eac0
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret
cmp dword [esp + 0x30], ebx
jne 0x4427ad
mov ecx, dword [ebp + 0xe4]
mov eax, ebx
test ecx, ecx
je 0x4423f9
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x28]
mov dword [ebp + 0xe4], 0
sub eax, ecx
test eax, eax
je 0x4426e8
cmp dword [ebp + 0xf4], 7
jne 0x44265c
mov eax, dword [ebp + 0x100]
test eax, eax
jge 0x442592
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x30]
sub ecx, eax
cmp ecx, ebx
jg 0x442554
push ebp
call fcn.0042c220
add esp, 4
test eax, eax
je 0x442450
push ebp
push eax
push eax
push ebx
call fcn.0042eac0
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret
mov eax, dword [ebp + 0x120]
push 0
and al, 0xdf
push ebp
mov dword [ebp + 0x120], eax
call fcn.0042d5a0
add esp, 8
test eax, eax
je 0x44248c
push ebp
push 0xc0000026
push 0xc0000026
push ebx
call fcn.0042eac0
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret
movsx eax, byte [ebp + 0x10c]
dec eax
cmp eax, 6
ja case.default.0x44249d
jmp dword [eax*4 + 0x44289c]
test byte [ebp + 0x11c], 2
je 0x4424bd
mov edx, dword [ebp + 0x28]
mov byte [edx + 2], 0
mov eax, dword [ebp + 0x28]
mov byte [eax + 3], 1
jmp 0x4424cb
mov ecx, dword [ebp + 0x28]
mov byte [ecx + 2], 1
mov edx, dword [ebp + 0x28]
mov byte [edx + 3], 0
mov eax, dword [ebp + 0x28]
mov edx, dword [ebp + 0xac]
add edx, eax
lea ecx, [eax + 4]
mov dword [ebp + 0x30], edx
mov dword [ebp + 0x2c], ecx
jmp 0x44253a
mov eax, dword [ebp + 0x28]
mov edx, dword [ebp + 0xac]
lea ecx, [eax + 4]
lea eax, [edx + eax - 4]
mov dword [ebp + 0x2c], ecx
mov dword [ebp + 0x30], eax
jmp 0x44253a
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0xac]
mov dword [ebp + 0x2c], eax
lea edx, [ecx + eax - 1]
mov dword [ebp + 0x30], edx
jmp 0x44253a
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0xac]
add ecx, eax
mov dword [ebp + 0x2c], eax
mov dword [ebp + 0x30], ecx
jmp 0x44253a
push 0x830
push 0x492388
push 2
push 0xc0000008
call fcn.0042ea90
add esp, 0x10
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x100]
sub ecx, eax
cmp ecx, edx
jl 0x44254e
mov ecx, edx
mov dword [ebp + 0x104], ecx
mov byte [ebp + 0x115], 0x81
mov byte [eax], 0x81
mov edi, dword [ebp + 0x2c]
mov al, byte [ebp + 0x115]
inc edi
xor ecx, ecx
cmp al, 0x81
mov edx, edi
sete cl
and eax, 0xff
mov dword [ebp + 0x2c], edi
sub eax, ecx
mov ecx, dword [ebp + 0x30]
sub ecx, edx
mov dword [ebp + 0x100], eax
cmp ecx, eax
jge 0x44258c
mov eax, ecx
mov dword [ebp + 0x104], eax
mov cl, byte [ebp + 0x100]
mov edx, dword [ebp + 0x2c]
mov al, pe_nt_image_headers32
lea esi, [ebp + 0x115]
sub al, cl
mov byte [esi], al
mov byte [edx], al
mov cl, byte [esi]
mov eax, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x28]
mov edi, ecx
inc eax
and edi, 0xff
mov dword [ebp + 0x2c], eax
sub eax, edi
sub eax, edx
sub eax, 2
mov edi, eax
js 0x4425d0
mov byte [edi + edx], cl
jmp 0x44265c
mov eax, dword [ebp + 0xa0]
mov ebx, dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 1
push 0
push edi
push eax
call ebx
cmp eax, 0xffffffff
je 0x44263c
mov eax, dword [ebp + 0x120]
mov ecx, dword [ebp + 0xfc]
mov edx, eax
push ecx
shr edx, 7
shr eax, 6
mov ecx, dword [ebp + 0xa0]
and edx, 1
and eax, 1
push edx
push eax
lea eax, [esp + 0x54]
push 0
push eax
push 1
push esi
push ecx
call fcn.0042d650
add esp, 0x20
cmp eax, 0xffffffff
je 0x44263c
mov eax, dword [ebp + 0xa0]
or edx, 0xffffffff
push 1
sub edx, edi
push 0
push edx
push eax
call ebx
cmp eax, 0xffffffff
jne 0x44265c
push ebp
push 0xc0000026
push 0xc0000026
push 1
call fcn.0042eac0
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret
cmp byte [ebp + 0x10c], 3
jne 0x4426a0
mov esi, dword [ebp + 0x11c]
mov eax, dword [ebp + 0x28]
and esi, 2
lea ecx, [eax + 2]
je 0x44267f
xor edx, edx
mov dl, byte [eax + 3]
mov dh, byte [ecx]
jmp 0x442686
xor edx, edx
mov dh, byte [eax + 3]
mov dl, byte [ecx]
mov eax, edx
or al, 2
test esi, esi
je 0x442698
mov byte [ecx], ah
mov ecx, dword [ebp + 0x28]
mov byte [ecx + 3], al
jmp 0x4426a0
mov byte [ecx], al
mov edx, dword [ebp + 0x28]
mov byte [edx + 3], ah
mov eax, dword [ebp + 0x11c]
test eax, 0x20000
je 0x4426b5
push ebp
call fcn.00442a10
jmp 0x4426c9
test eax, 0x2000000
push ebp
je 0x4426c4
call fcn.00442d50
jmp 0x4426c9
call fcn.0042c220
add esp, 4
test eax, eax
je 0x442718
push ebp
push eax
push eax
push 1
call fcn.0042eac0
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret
test dword [ebp + 0x11c], 0x20000
je 0x442745
push ebp
call fcn.00442a10
add esp, 4
test eax, eax
je 0x442718
push ebp
push eax
push eax
push ebx
call fcn.0042eac0
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret
mov edx, dword [ebp + 0x8c]
mov ecx, dword [ebp + 0x11c]
mov eax, dword [ebp + 0x120]
inc edx
and ecx, 0xfff7ffff
and al, 0xdf
mov dword [ebp + 0x8c], edx
mov dword [ebp + 0x11c], ecx
mov dword [ebp + 0x120], eax
mov ebx, dword [ebp + 0x118]
mov edi, dword [ebp + 0x11c]
mov eax, dword [ebp + 0xb4]
and ebx, 0xfdc6ffff
and edi, 0xfffffddf
push eax
mov dword [ebp + 0x118], ebx
mov dword [ebp + 0x11c], edi
call fcn.0042fc00
add esp, 4
test eax, eax
je 0x442794
push ebp
push eax
push eax
push 0
call fcn.0042eac0
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret
mov ecx, dword [esp + 0x120]
mov dword [ecx + 4], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret
mov eax, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret
mov eax, dword [ebp + 0x28]
mov edx, dword [ebp + 0xd0]
sub edi, eax
push 0
lea ecx, [edi + ebx]
add edx, ecx
mov dword [ebp + 0xd0], edx
lea edx, [esp + 0x54]
push edx
push edi
push eax
push ebp
call fcn.004429a0
add esp, 0x14
test eax, eax
jne 0x4423b9
mov ecx, dword [esp + 0x10]
push eax
lea eax, [esp + 0x54]
push eax
push ebx
push ecx
push ebp
call fcn.004429a0
add esp, 0x14
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x4423b9
mov edx, dword [ebp + 0x28]
xor ebx, ebx
mov dword [ebp + 0x2c], edx
mov dword [esp + 0x20], ebx
jmp 0x442097
mov esi, dword [esp + 0x10]
sub eax, edi
mov ecx, eax
sub ebx, eax
mov edx, ecx
push ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov dword [esp + 0x24], ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [ebp + 0x2c]
mov edi, dword [esp + 0x14]
add edx, eax
add edi, eax
mov dword [ebp + 0x2c], edx
mov dword [esp + 0x14], edi
call fcn.0042c220
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x44239d
mov eax, dword [ebp + 0x28]
mov byte [eax + 2], 0
mov ecx, dword [ebp + 0x28]
mov byte [ecx + 3], 0
mov edx, dword [ebp + 0x28]
add edx, 4
mov dword [ebp + 0x2c], edx
jmp 0x442097