Function at 0x497290
Capabilities:
Access peb ldr_data
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f4160
mov eax, dword fs:[0]
push eax
sub esp, 0x40
mov eax, dword [0x571180]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x38], eax
mov ebx, dword fs:[0x2c]
mov dword [ebp - 0x48], eax
mov eax, dword [0x582550]
mov esi, dword [ebx]
cmp eax, dword [esi + 0xc]
jle 0x497389
push 0x582550
call fcn.004c2fc8
add esp, 4
cmp dword [0x582550], 0xffffffff
jne 0x497389
mov dword [ebp - 4], 0
mov eax, dword [esi + 0x2090]
mov dword [ebp - 0x2c], 0x6a2d157
mov dword [ebp - 0x28], 0x441e467c
mov word [ebp - 0x24], 0xa355
test al, 1
jne 0x497369
or eax, 1
mov dword [esi + 0x2090], eax
mov byte [ebp - 4], 1
xorps xmm0, xmm0
movlpd qword [ebp - 0x3c], xmm0
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov byte [esi + 0x200a], 1
mov al, byte [ebp + ecx - 0x2c]
mov byte [esi + ecx + 0x2000], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x49735c
cmp ecx, 0xa
jb 0x497342
push 0x512800
call fcn.004c3487
add esp, 4
lea esi, [esi + 0x2000]
mov ecx, esi
call fcn.00497e50
push 0x582550
mov dword [0x58256c], esi
call fcn.004c2f77
add esp, 4
mov esi, dword [ebx]
mov edi, esi
mov eax, dword [0x582544]
cmp eax, dword [esi + 0xc]
jle 0x497445
push 0x582544
call fcn.004c2fc8
add esp, 4
cmp dword [0x582544], 0xffffffff
jne 0x497445
mov dword [ebp - 4], 2
mov eax, dword [esi + 0x219c]
mov dword [ebp - 0x3c], 0xff8a8e8f
mov word [ebp - 0x38], 0x8feb
test al, 1
jne 0x497423
or eax, 1
mov dword [esi + 0x219c], eax
mov byte [ebp - 4], 3
lea esi, [esi + 0x2194]
xorps xmm0, xmm0
mov byte [esi + 6], 1
movlpd qword [ebp - 0x28], xmm0
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x3c]
mov byte [esi + ecx], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x497416
cmp ecx, 6
jb 0x497400
push 0x5127c0
call fcn.004c3487
add esp, 4
mov edi, dword [ebx]
lea esi, [edi + 0x2194]
mov ecx, esi
call fcn.00497df0
push 0x582544
mov dword [0x58255c], esi
call fcn.004c2f77
add esp, 4
mov eax, dword [0x58254c]
mov ebx, edi
cmp eax, dword [edi + 0xc]
jle 0x497510
push 0x58254c
call fcn.004c2fc8
add esp, 4
cmp dword [0x58254c], 0xffffffff
jne 0x497510
mov dword [ebp - 4], 4
mov eax, dword [edi + 0x2048]
mov dword [ebp - 0x40], 0x70a2048d
mov dword [ebp - 0x3c], 0xcf565f05
mov word [ebp - 0x38], 0x6d8c
test al, 1
jne 0x4974e7
or eax, 1
mov dword [edi + 0x2048], eax
mov byte [ebp - 4], 5
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov byte [edi + 0x20b2], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x40]
mov byte [ecx + edi + 0x20a8], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x4974da
cmp ecx, 0xa
jb 0x4974c0
push 0x512780
call fcn.004c3487
add esp, 4
mov ebx, dword fs:[0x2c]
mov ebx, dword [ebx]
lea esi, [ebx + 0x20a8]
mov ecx, esi
call fcn.00497d90
push 0x58254c
mov dword [0x582568], esi
call fcn.004c2f77
add esp, 4
mov eax, dword [0x582538]
mov edi, ebx
cmp eax, dword [ebx + 0xc]
jle 0x4975cf
push 0x582538
call fcn.004c2fc8
add esp, 4
cmp dword [0x582538], 0xffffffff
jne 0x4975cf
mov dword [ebp - 4], 6
mov eax, dword [ebx + 0x2074]
mov dword [ebp - 0x38], 0x4e8d805
mov byte [ebp - 0x34], 0x4d
test al, 1
jne 0x4975a7
or eax, 1
mov dword [ebx + 0x2074], eax
mov byte [ebp - 4], 7
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov byte [ebx + 0x217d], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x38]
mov byte [ebx + ecx + 0x2178], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x49759a
cmp ecx, 5
jb 0x497580
push 0x512740
call fcn.004c3487
add esp, 4
mov eax, dword fs:[0x2c]
mov edi, dword [eax]
lea esi, [edi + 0x2178]
mov ecx, esi
call fcn.00497d30
push 0x582538
mov dword [0x582560], esi
call fcn.004c2f77
add esp, 4
mov eax, dword [0x582558]
mov ebx, edi
cmp eax, dword [edi + 0xc]
jle 0x497693
push 0x582558
call fcn.004c2fc8
add esp, 4
cmp dword [0x582558], 0xffffffff
jne 0x497693
mov dword [ebp - 4], 8
mov eax, dword [edi + 0x1ff0]
mov dword [ebp - 0x3c], 0x7512a26e
mov dword [ebp - 0x38], 0x61d8b752
mov byte [ebp - 0x34], 0xd
test al, 1
jne 0x497668
or eax, 1
mov dword [edi + 0x1ff0], eax
mov byte [ebp - 4], 9
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov byte [edi + 0x2101], 1
mov al, byte [ebp + ecx - 0x3c]
mov byte [edi + ecx + 0x20f8], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x49765b
cmp ecx, 9
jb 0x497641
push 0x512700
call fcn.004c3487
add esp, 4
mov edi, dword fs:[0x2c]
mov ebx, dword [edi]
lea esi, [ebx + 0x20f8]
mov ecx, esi
call fcn.00497cd0
push 0x582558
mov dword [0x582564], esi
call fcn.004c2f77
add esp, 4
jmp 0x49769a
mov edi, dword fs:[0x2c]
mov eax, dword [0x582540]
mov dword [ebp - 0x38], ebx
cmp eax, dword [ebx + 0xc]
jle 0x49775b
push 0x582540
call fcn.004c2fc8
add esp, 4
mov dword [ebp - 0x38], ebx
cmp dword [0x582540], 0xffffffff
jne 0x49775b
mov dword [ebp - 4], 0xa
mov eax, dword [ebx + 0x202c]
mov dword [ebp - 0x3c], 0x5c040616
mov word [ebp - 0x38], 0xbc69
mov byte [ebp - 0x36], 0x6d
test al, 1
jne 0x497737
or eax, 1
mov dword [ebx + 0x202c], eax
mov byte [ebp - 4], 0xb
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov byte [ebx + 0x2187], 1
nop
mov al, byte [ebp + ecx - 0x3c]
mov byte [ebx + ecx + 0x2180], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x49772a
cmp ecx, 7
jb 0x497710
push 0x5126c0
call fcn.004c3487
add esp, 4
mov ebx, dword [edi]
lea esi, [ebx + 0x2180]
mov ecx, esi
call fcn.00497c70
push 0x582540
mov dword [0x582554], esi
call fcn.004c2f77
add esp, 4
jmp 0x49775e
mov ebx, dword [ebp - 0x38]
mov eax, dword [0x582548]
cmp eax, dword [ebx + 0xc]
jle 0x497829
push 0x582548
call fcn.004c2fc8
add esp, 4
cmp dword [0x582548], 0xffffffff
jne 0x497829
mov dword [ebp - 4], 0xc
mov eax, dword [ebx + 0x2028]
mov dword [ebp - 0x40], 0x4ebb6874
mov dword [ebp - 0x3c], 0xa0ff0336
mov dword [ebp - 0x38], 0x55ac6f6a
mov byte [ebp - 0x34], 0x57
test al, 1
jne 0x497807
or eax, 1
mov dword [ebx + 0x2028], eax
mov byte [ebp - 4], 0xd
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov byte [ebx + 0x1fc9], 1
nop word [eax + eax]
mov cl, byte [ebp + eax - 0x40]
mov byte [ebx + eax + 0x1fbc], cl
add eax, 1
adc edx, 0
test edx, edx
jne 0x4977fa
cmp eax, 0xd
jb 0x4977e0
push 0x512680
call fcn.004c3487
add esp, 4
mov esi, dword [edi]
add esi, 0x1fbc
mov ecx, esi
call fcn.00497c10
push 0x582548
mov dword [0x58253c], esi
call fcn.004c2f77
add esp, 4
mov dword [ebp - 4], 0xe
lea ecx, [ebp - 0x18]
push 0
mov byte [ebp - 0x20], 0
call fcn.00489860
mov ebx, dword [ebp - 0x44]
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0xf
xorps xmm0, xmm0
mov edx, ebx
mov byte [ebp - 0x30], 0
movq qword [ebp - 0x28], xmm0
call fcn.00495880
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x20]
push dword [0x58256c]
call fcn.00489ca0
mov edi, eax
movzx eax, byte [ebp - 0x30]
mov cl, byte [edi]
mov byte [edi], al
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov eax, dword [ebp - 0x28]
mov byte [ebp - 0x44], cl
mov byte [ebp - 0x30], cl
mov ecx, dword [ebp - 0x24]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], esi
push dword [ebp - 0x44]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x11
call fcn.0047d6d0
mov byte [ebp - 4], 0xf
lea edx, [ebx + 0x18]
xorps xmm0, xmm0
mov byte [ebp - 0x30], 0
lea ecx, [ebp - 0x30]
movq qword [ebp - 0x28], xmm0
call fcn.00495880
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x20]
push dword [0x58255c]
call fcn.00489ca0
mov edi, eax
movzx eax, byte [ebp - 0x30]
mov cl, byte [edi]
mov byte [edi], al
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov eax, dword [ebp - 0x28]
mov byte [ebp - 0x44], cl
mov byte [ebp - 0x30], cl
mov ecx, dword [ebp - 0x24]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], esi
push dword [ebp - 0x44]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x13
call fcn.0047d6d0
mov byte [ebp - 4], 0xf
lea edx, [ebx + 0x30]
xorps xmm0, xmm0
mov byte [ebp - 0x30], 0
lea ecx, [ebp - 0x30]
movq qword [ebp - 0x28], xmm0
call fcn.00495880
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x20]
push dword [0x582568]
call fcn.00489ca0
mov edi, eax
movzx eax, byte [ebp - 0x30]
mov cl, byte [edi]
mov byte [edi], al
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov eax, dword [ebp - 0x28]
mov byte [ebp - 0x44], cl
mov byte [ebp - 0x30], cl
mov ecx, dword [ebp - 0x24]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], esi
push dword [ebp - 0x44]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x15
call fcn.0047d6d0
mov byte [ebp - 4], 0xf
lea edx, [ebx + 0x48]
xorps xmm0, xmm0
mov byte [ebp - 0x30], 0
lea ecx, [ebp - 0x30]
movq qword [ebp - 0x28], xmm0
call fcn.00495880
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x20]
push dword [0x582560]
call fcn.00489ca0
mov edi, eax
movzx eax, byte [ebp - 0x30]
mov cl, byte [edi]
mov byte [edi], al
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov eax, dword [ebp - 0x28]
mov byte [ebp - 0x44], cl
mov byte [ebp - 0x30], cl
mov ecx, dword [ebp - 0x24]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], esi
push dword [ebp - 0x44]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x17
call fcn.0047d6d0
mov byte [ebp - 4], 0xf
lea edx, [ebx + 0x60]
xorps xmm0, xmm0
mov byte [ebp - 0x30], 0
lea ecx, [ebp - 0x30]
movq qword [ebp - 0x28], xmm0
call fcn.00495880
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x20]
push dword [0x582564]
call fcn.00489ca0
mov edi, eax
movzx eax, byte [ebp - 0x30]
mov cl, byte [edi]
mov byte [edi], al
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov eax, dword [ebp - 0x28]
mov byte [ebp - 0x44], cl
mov byte [ebp - 0x30], cl
mov ecx, dword [ebp - 0x24]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], esi
push dword [ebp - 0x44]
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x28]
call fcn.0047d6d0
mov byte [ebp - 4], 0xf
lea edx, [ebx + 0x78]
xorps xmm0, xmm0
mov byte [ebp - 0x30], 0
lea ecx, [ebp - 0x30]
movq qword [ebp - 0x28], xmm0
call fcn.00495880
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x20]
push dword [0x582554]
call fcn.00489ca0
mov edi, eax
movzx eax, byte [ebp - 0x30]
mov cl, byte [edi]
mov byte [edi], al
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov eax, dword [ebp - 0x28]
mov byte [ebp - 0x44], cl
mov byte [ebp - 0x30], cl
mov ecx, dword [ebp - 0x24]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], esi
push dword [ebp - 0x44]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x1b
call fcn.0047d6d0
mov byte [ebp - 4], 0xf
lea edx, [ebx + 0x90]
xorps xmm0, xmm0
mov byte [ebp - 0x30], 0
lea ecx, [ebp - 0x30]
movq qword [ebp - 0x28], xmm0
call fcn.00495880
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x20]
push dword [0x58253c]
call fcn.00489ca0
mov edi, eax
movzx eax, byte [ebp - 0x30]
mov cl, byte [edi]
mov byte [edi], al
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov eax, dword [ebp - 0x28]
mov byte [ebp - 0x44], cl
mov byte [ebp - 0x30], cl
mov ecx, dword [ebp - 0x24]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], esi
push dword [ebp - 0x44]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x1d
call fcn.0047d6d0
mov esi, dword [ebp - 0x48]
lea ecx, [ebp - 0x20]
sub esp, 0xc
mov byte [ebp - 4], 0xf
push 0xffffffffffffffff
push esi
call fcn.00487b00
mov dword [ebp - 4], 0x1e
lea ecx, [ebp - 0x18]
push dword [ebp - 0x20]
call fcn.0047d6d0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004c2e59
mov esp, ebp
pop ebp
ret 4