Function at 0x433cf0
Capabilities:
Check for software breakpoints

Disassembly:
mov eax, 0x1d2c
call fcn.0047e4b0
mov eax, dword [0x4b3504]
test eax, eax
je 0x433d0c
call fcn.004501f0
mov dword [esp + 0x28], eax
mov eax, dword [0x4b34fc]
push ebx
push ebp
push esi
test eax, eax
push edi
jne 0x433deb
mov esi, 0x17
mov eax, dword [esp + 0x10]
mov ecx, dword [0x4b3504]
test ecx, ecx
je 0x433dde
mov edx, dword [esp + 0x1d54]
add eax, 0x23c
push eax
push edx
call fcn.004502a0
add esp, 4
push eax
mov eax, dword [esp + 0x1d58]
push eax
call fcn.00450290
mov ecx, dword [esp + 0x1d58]
add esp, 4
push eax
push ecx
call fcn.00450290
mov edx, dword [esp + 0x1d58]
add esp, 4
push eax
push edx
call fcn.00450290
add esp, 4
push eax
mov eax, dword [esp + 0x1d58]
push eax
call fcn.00450290
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x1d58]
add esp, 4
add ecx, 4
push eax
push ecx
push edx
push esi
call sub.KERNEL32.dll_GetCurrentThreadId
push eax
call fcn.00430b10
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], 0
fild qword [esp + 0x58]
mov eax, dword [esp + 0x60]
sub esp, 8
fmul qword [0x495520]
fstp qword [esp]
push eax
push str.____06d____012.6f____04X___x_08X__PzGetDiscBasicInfo___x_04X__s____08x___d___d___d___s___on__s_r_n
push 0x4b65e0
call fcn.00445c70
add esp, 0x3c
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1d2c
ret
mov ecx, dword [esp + 0x1d40]
lea eax, [esp + 0x10]
push eax
push ecx
call fcn.0044fe80
mov esi, eax
add esp, 8
test esi, esi
jne 0x433d22
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xcc78]
test ecx, ecx
je 0x436ef5
cmp ecx, 1
je 0x436ef5
lea edx, [esp + 0x14]
push edx
call fcn.0044ffc0
mov ecx, dword [esp + 0x14]
push 0xf
push esi
push esi
push 3
lea eax, [esp + 0x28]
push 6
add ecx, 4
push eax
push ecx
mov byte [esp + 0x34], 0
call fcn.0042c710
mov esi, eax
add esp, 0x20
test esi, esi
jne 0x436d2f
mov edx, dword [esp + 0x1d44]
cmp dword [edx], 0xfffffffe
jne 0x433e74
mov eax, dword [esp + 0x10]
push eax
call fcn.0044fee0
add esp, 4
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x9d4], 0xffffffff
jne 0x43673a
mov ecx, dword [eax + 0x2bc]
test ecx, 0x3fc0
je 0x4348fb
test ch, 0x10
mov bl, 0x46
je 0x433fe7
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x13c]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x14]
push ecx
call fcn.0044ffc0
lea edx, [esp + 0x1a]
push 0x3b
push edx
mov byte [esp + 0x20], bl
mov byte [esp + 0x21], 2
call fcn.0044ffd0
lea eax, [esp + 0x27]
push 0x800
push eax
call fcn.0044ffd0
mov eax, dword [esp + 0x24]
push 8
lea ecx, [esp + 0x154]
push 0x800
mov ebp, 1
push ecx
push ebp
lea edx, [esp + 0x38]
push 0xa
add eax, 4
push edx
push eax
call fcn.0042c710
add esp, 0x30
test eax, eax
jne 0x433fe1
mov ecx, dword [esp + 0x13c]
push ecx
call fcn.00450040
add esp, 4
cmp eax, 4
jle 0x433fe1
mov edx, dword [esp + 0x144]
push edx
call fcn.00450020
add esp, 4
cmp eax, 0x3b
jne 0x433fe1
mov al, byte [esp + 0x146]
and al, 1
cmp al, 1
jne 0x433fe1
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x14]
push edx
mov dword [ecx + 0x9d4], 0x1000
call fcn.0044ffc0
lea eax, [esp + 0x1a]
push 0
push eax
mov byte [esp + 0x20], 0xad
call fcn.0044fff0
lea ecx, [esp + 0x28]
push 0xc
push ecx
mov byte [esp + 0x2e], 0
mov byte [esp + 0x2f], 0x20
call fcn.0044ffd0
mov ecx, dword [esp + 0x24]
push 9
lea edx, [esp + 0x154]
push 0xc
push edx
push ebp
lea eax, [esp + 0x38]
push 0xc
add ecx, 4
push eax
push ecx
call fcn.0042c710
add esp, 0x30
test eax, eax
jne 0x43437d
mov edx, dword [esp + 0x144]
push edx
call fcn.00450040
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [ecx + 0x9f8], eax
jmp 0x43437d
mov eax, dword [esp + 0x10]
jmp 0x433fec
mov ebp, 1
mov ecx, dword [eax + 0x2bc]
mov esi, 0x2000
test esi, ecx
je 0x434124
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x13c]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
push edx
call fcn.0044ffc0
lea eax, [esp + 0x1a]
push 0
push eax
mov byte [esp + 0x20], bl
mov byte [esp + 0x21], 1
call fcn.0044ffd0
lea ecx, [esp + 0x27]
push 0x800
push ecx
call fcn.0044ffd0
mov ecx, dword [esp + 0x24]
push 8
lea edx, [esp + 0x154]
push 0x800
push edx
push ebp
lea eax, [esp + 0x38]
push 0xa
add ecx, 4
push eax
push ecx
call fcn.0042c710
add esp, 0x30
test eax, eax
jne 0x434124
mov edx, dword [esp + 0x13c]
push edx
call fcn.00450040
add esp, 4
cmp eax, 4
jle 0x434124
mov eax, dword [esp + 0x142]
push eax
call fcn.00450020
add esp, 4
cmp eax, 0x15
jne 0x434124
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x14]
push edx
mov dword [ecx + 0x9d4], esi
call fcn.0044ffc0
lea eax, [esp + 0x1a]
push 0
push eax
mov byte [esp + 0x20], 0xad
call fcn.0044fff0
lea ecx, [esp + 0x28]
push 0xc
push ecx
mov byte [esp + 0x2e], 0
mov byte [esp + 0x2f], 0x20
call fcn.0044ffd0
mov ecx, dword [esp + 0x24]
push 9
lea edx, [esp + 0x154]
push 0xc
push edx
push ebp
lea eax, [esp + 0x38]
push 0xc
add ecx, 4
push eax
push ecx
call fcn.0042c710
add esp, 0x30
test eax, eax
jne 0x43437d
mov edx, dword [esp + 0x144]
push edx
call fcn.00450040
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [ecx + 0x9f8], eax
jmp 0x43437d
lea edx, [esp + 0x14]
push edx
call fcn.0044ffc0
lea eax, [esp + 0x1a]
push 0
push eax
mov byte [esp + 0x20], 0xad
call fcn.0044fff0
lea ecx, [esp + 0x28]
push 0x804
push ecx
mov byte [esp + 0x2e], 0
mov byte [esp + 0x2f], 0
call fcn.0044ffd0
mov ecx, dword [esp + 0x24]
push 9
lea edx, [esp + 0x154]
push 0x804
push edx
push ebp
lea eax, [esp + 0x38]
push 0xc
add ecx, 4
push eax
push ecx
call fcn.0042c710
add esp, 0x30
test eax, eax
jne 0x434684
mov edx, dword [esp + 0x140]
and edx, 0xff
shr edx, 4
lea eax, [edx - 1]
cmp eax, 9
ja case.0x43419f.4
jmp dword [eax*4 + 0x436f00]
mov eax, dword [esp + 0x10]
mov dword [eax + 0x9d4], 0x800
jmp 0x43437d
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x9d4], 0x80
jmp 0x43437d
mov edx, dword [esp + 0x10]
mov dword [edx + 0x9d4], 0x100
jmp 0x43437d
mov eax, dword [esp + 0x10]
mov dword [eax + 0x9d4], 0x200
jmp 0x43437d
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x9d4], 0x400
jmp 0x43437d
mov edx, dword [esp + 0x10]
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x13c]
mov dword [edx + 0x9d4], 0x40
rep stosd dword es:[edi], eax
lea eax, [esp + 0x14]
push eax
call fcn.0044ffc0
lea ecx, [esp + 0x1a]
push 0x2b
push ecx
mov byte [esp + 0x20], bl
mov byte [esp + 0x21], 2
call fcn.0044ffd0
lea edx, [esp + 0x27]
push 0x800
push edx
call fcn.0044ffd0
mov edx, dword [esp + 0x24]
push 8
lea eax, [esp + 0x154]
push 0x800
push eax
push ebp
lea ecx, [esp + 0x38]
push 0xa
add edx, 4
push ecx
push edx
call fcn.0042c710
add esp, 0x30
test eax, eax
jne 0x4342b3
mov eax, dword [esp + 0x13c]
push eax
call fcn.00450040
add esp, 4
cmp eax, 4
jle 0x4342b3
mov cl, byte [esp + 0x146]
and cl, 1
cmp cl, 1
jne 0x4342b3
mov edx, dword [esp + 0x10]
mov dword [edx + 0x9d4], 0x200
jmp 0x43437d
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x13c]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x14]
push eax
call fcn.0044ffc0
lea ecx, [esp + 0x1a]
push 0x2a
push ecx
mov byte [esp + 0x20], bl
mov byte [esp + 0x21], 2
call fcn.0044ffd0
lea edx, [esp + 0x27]
push 0x800
push edx
call fcn.0044ffd0
mov edx, dword [esp + 0x24]
push 8
lea eax, [esp + 0x154]
push 0x800
push eax
push ebp
lea ecx, [esp + 0x38]
push 0xa
add edx, 4
push ecx
push edx
call fcn.0042c710
add esp, 0x30
test eax, eax
jne 0x434350
mov eax, dword [esp + 0x13c]
push eax
call fcn.00450040
add esp, 4
cmp eax, 4
jle 0x434350
mov cl, byte [esp + 0x146]
and cl, 1
cmp cl, 1
jne 0x434350
mov edx, dword [esp + 0x10]
mov dword [edx + 0x9d4], 0x400
jmp 0x43437d
mov eax, dword [esp + 0x10]
mov dword [eax + 0x9ec], 0
mov ecx, dword [esp + 0x14c]
push ecx
call fcn.00450040
mov edx, dword [esp + 0x14]
add esp, 4
sub eax, 0x2ffff
mov dword [edx + 0x9f8], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x9d4]
cmp eax, 0x40
je 0x434671
cmp eax, 0x800
je 0x4344f3
cmp eax, 0x400
je 0x4344f3
lea eax, [esp + 0x14]
push eax
call fcn.0044ffc0
lea ecx, [esp + 0x1f]
push 0x22
push ecx
mov byte [esp + 0x20], 0x51
call fcn.0044ffd0
mov ecx, dword [esp + 0x1c]
push 0x23
lea edx, [esp + 0x14c]
push 0x22
push edx
push ebp
lea eax, [esp + 0x30]
push 0xa
add ecx, 4
push eax
push ecx
call fcn.0042c710
mov esi, eax
add esp, 0x28
test esi, esi
jne 0x436d2f
mov dl, byte [esp + 0x13e]
mov eax, dword [esp + 0x10]
and dl, 3
neg dl
sbb edx, edx
inc edx
mov dword [eax + 0x9ec], edx
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x9ec], esi
je 0x43441e
mov dword [eax + 0x9f4], esi
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x9d4], 0x100
jne 0x4344b2
mov ebp, 1
mov dword [eax + 0x9dc], ebp
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x9ec], esi
jne 0x4344ce
lea edx, [esp + 0x14]
push edx
call fcn.0044ffc0
lea eax, [esp + 0x1a]
push ebp
push eax
mov byte [esp + 0x20], 0x52
mov byte [esp + 0x21], 1
call fcn.0044fff0
lea ecx, [esp + 0x27]
push 0x24
push ecx
call fcn.0044ffd0
mov ecx, dword [esp + 0x24]
push 0x2d
lea edx, [esp + 0x154]
push 0x24
push edx
push ebp
lea eax, [esp + 0x38]
push 0xa
add ecx, 4
push eax
push ecx
call fcn.0042c710
add esp, 0x30
test eax, eax
jne 0x4344ce
test byte [esp + 0x142], 0x20
jne 0x4344ce
mov edx, dword [esp + 0x10]
mov dword [edx + 0x9dc], esi
jmp 0x4344ce
mov cl, byte [esp + 0x13e]
mov dl, 1
and cl, 3
mov ebp, 1
cmp dl, cl
sbb ecx, ecx
inc ecx
mov dword [eax + 0x9dc], ecx
mov dl, byte [esp + 0x13e]
mov ecx, dword [esp + 0x10]
and dl, 0xc
xor eax, eax
cmp dl, 4
sete al
mov dword [ecx + 0x9e4], eax
mov eax, dword [esp + 0x10]
jmp 0x434900
mov edx, dword [esp + 0x1d40]
push 0
push 0x80000000
push 0x4000
lea eax, [esp + 0x34]
push edx
push eax
call fcn.00439a00
mov ecx, 0x200
xor eax, eax
lea edi, [esp + 0x1550]
add esp, 0x14
rep stosd dword es:[edi], eax
xor ebp, ebp
mov ebx, 1
mov edx, dword [esp + 0x28]
mov ecx, 0x400
mov eax, 0x69696969
lea edi, [esp + 0x13c]
rep stosd dword es:[edi], eax
push ebx
lea ecx, [esp + 0x140]
push ebp
push ecx
push edx
call fcn.00439b50
add esp, 0x10
mov ecx, 0x200
lea edi, [esp + 0x153c]
lea esi, [esp + 0x13c]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x434577
inc ebp
cmp ebp, 0x226
jl 0x43452b
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0043a0c0
add esp, 4
cmp ebp, 0x226
jne 0x4345bb
mov edx, dword [esp + 0x10]
xor eax, eax
mov dword [edx + 0x9ec], ebx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x9f4], eax
mov edx, dword [esp + 0x10]
mov dword [edx + 0x9dc], ebx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x9e4], eax
jmp 0x4348f7
lea edx, [esp + 0x14]
push edx
call fcn.0044ffc0
lea eax, [esp + 0x1f]
push 0x22
push eax
mov byte [esp + 0x20], 0x51
call fcn.0044ffd0
mov eax, dword [esp + 0x1c]
push 0x23
lea ecx, [esp + 0x14c]
push 0x22
push ecx
push ebx
lea edx, [esp + 0x30]
push 0xa
add eax, 4
push edx
push eax
call fcn.0042c710
mov esi, eax
add esp, 0x28
test esi, esi
jne 0x436d2f
mov cl, byte [esp + 0x13e]
mov edx, dword [esp + 0x10]
and cl, 3
neg cl
sbb ecx, ecx
inc ecx
mov dword [edx + 0x9ec], ecx
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp dword [eax + 0x9ec], ecx
je 0x434635
mov dword [eax + 0x9f4], ecx
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x9d4]
test dh, 8
je 0x434648
mov dword [eax + 0x9dc], ecx
jmp 0x434652
mov dword [eax + 0x9dc], 1
mov al, byte [esp + 0x13e]
mov edx, dword [esp + 0x10]
and al, 0xc
xor ecx, ecx
cmp al, 4
sete cl
mov dword [edx + 0x9e4], ecx
jmp 0x4348f7
mov dword [ecx + 0x9dc], 0
mov eax, dword [esp + 0x10]
jmp 0x434900
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x13c]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x14]
push eax
call fcn.0044ffc0
lea ecx, [esp + 0x1a]
push 0x2b
push ecx
mov byte [esp + 0x20], bl
mov byte [esp + 0x21], 2
call fcn.0044ffd0
lea edx, [esp + 0x27]
push 0x800
push edx
call fcn.0044ffd0
mov edx, dword [esp + 0x24]
push 8
lea eax, [esp + 0x154]
push 0x800
push eax
push ebp
lea ecx, [esp + 0x38]
push 0xa
add edx, 4
push ecx
push edx
call fcn.0042c710
add esp, 0x30
test eax, eax
jne 0x4347c1
mov eax, dword [esp + 0x13c]
push eax
call fcn.00450040
add esp, 4
cmp eax, 4
jle 0x4347c1
mov cl, byte [esp + 0x146]
and cl, 1
cmp cl, 1
jne 0x4347c1
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x14]
push eax
mov dword [edx + 0x9d4], 0x200
call fcn.0044ffc0
lea ecx, [esp + 0x1f]
push 0x22
push ecx
mov byte [esp + 0x20], 0x51
call fcn.0044ffd0
mov ecx, dword [esp + 0x1c]
push 0x23
lea edx, [esp + 0x14c]
push 0x22
push edx
push ebp
lea eax, [esp + 0x30]
push 0xa
add ecx, 4
push eax
push ecx
call fcn.0042c710
mov esi, eax
add esp, 0x28
test esi, esi
jne 0x436d2f
mov dl, byte [esp + 0x13e]
mov eax, dword [esp + 0x10]
and dl, 3
neg dl
sbb edx, edx
inc edx
mov dword [eax + 0x9ec], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x9ec]
test ecx, ecx
je 0x4347a5
mov dword [eax + 0x9f4], esi
mov eax, dword [esp + 0x10]
mov cl, byte [esp + 0x13e]
mov dl, 1
and cl, 3
mov ebp, 1
cmp dl, cl
sbb ecx, ecx
inc ecx
mov dword [eax + 0x9dc], ecx
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x13c]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
push edx
call fcn.0044ffc0
lea eax, [esp + 0x1a]
push 0x2a
push eax
mov byte [esp + 0x20], bl
mov byte [esp + 0x21], 2
call fcn.0044ffd0
lea ecx, [esp + 0x27]
push 0x800
push ecx
call fcn.0044ffd0
mov ecx, dword [esp + 0x24]
push 8
lea edx, [esp + 0x154]
push 0x800
push edx
push ebp
lea eax, [esp + 0x38]
push 0xa
add ecx, 4
push eax
push ecx
call fcn.0042c710
add esp, 0x30
test eax, eax
jne 0x4344ea
mov edx, dword [esp + 0x13c]
push edx
call fcn.00450040
add esp, 4
cmp eax, 4
jle 0x4344ea
mov al, byte [esp + 0x146]
and al, 1
cmp al, 1
jne 0x4344ea
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x14]
push edx
mov dword [ecx + 0x9d4], 0x400
call fcn.0044ffc0
lea eax, [esp + 0x1f]
push 0x22
push eax
mov byte [esp + 0x20], 0x51
call fcn.0044ffd0
mov eax, dword [esp + 0x1c]
push 0x23
lea ecx, [esp + 0x14c]
push 0x22
push ecx
push ebp
lea edx, [esp + 0x30]
push 0xa
add eax, 4
push edx
push eax
call fcn.0042c710
mov esi, eax
add esp, 0x28
test esi, esi
jne 0x436d2f
mov cl, byte [esp + 0x13e]
mov edx, dword [esp + 0x10]
and cl, 3
neg cl
sbb ecx, ecx
inc ecx
mov dword [edx + 0x9ec], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x9ec]
test ecx, ecx
je 0x4348e0
mov dword [eax + 0x9f4], esi
mov eax, dword [esp + 0x10]
mov cl, byte [esp + 0x13e]
mov dl, 1
and cl, 3
cmp dl, cl
sbb ecx, ecx
inc ecx
mov dword [eax + 0x9dc], ecx
mov eax, dword [esp + 0x10]
mov ebp, 1
cmp dword [eax + 0x9d4], 0xffffffff
jne 0x434aba
test byte [eax + 0x2bc], 7
je 0x434aba
lea edx, [esp + 0x14]
push edx
call fcn.0044ffc0
lea eax, [esp + 0x1f]
push 0x22
push eax
mov byte [esp + 0x20], 0x51
call fcn.0044ffd0
mov eax, dword [esp + 0x1c]
push 0x23
lea ecx, [esp + 0x14c]
push 0x22
push ecx
push ebp
lea edx, [esp + 0x30]
push 0xa
add eax, 4
push edx
push eax
call fcn.0042c710
add esp, 0x28
test eax, eax
jne 0x434ab2
mov al, byte [esp + 0x13e]
test al, 3
jne 0x434995
mov cl, byte [esp + 0x141]
mov dl, byte [esp + 0x142]
cmp cl, dl
jbe 0x434995
mov eax, dword [esp + 0x10]
mov esi, 0x1a
push eax
call fcn.0044fee0
add esp, 4
jmp 0x433d22
and eax, 3
xor edi, edi
sub eax, edi
je 0x434a2e
dec eax
je 0x4349e5
mov edx, dword [esp + 0x10]
mov dword [edx + 0x9d4], ebp
mov eax, dword [esp + 0x10]
mov dword [eax + 0x9ec], edi
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x9dc], edi
mov al, byte [esp + 0x13e]
test al, 0x10
je 0x434a8b
mov edx, dword [esp + 0x10]
mov dword [edx + 0x9d4], 4
jmp 0x434a8b
mov eax, dword [esp + 0x10]
mov dword [eax + 0x9ec], edi
mov al, byte [esp + 0x13e]
test al, 0x10
jne 0x434a14
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x9d4], 2
mov eax, dword [esp + 0x10]
mov dword [eax + 0x9dc], ebp
jmp 0x434a8b
mov edx, dword [esp + 0x10]
mov dword [edx + 0x9d4], 4
mov eax, dword [esp + 0x10]
mov dword [eax + 0x9dc], ebp
jmp 0x434a8b
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x9ec], ebp
mov edx, dword [esp + 0x10]
mov dword [edx + 0x9f4], edi
mov al, byte [esp + 0x13e]
test al, 0x10
mov eax, dword [esp + 0x10]
jne 0x434a77
mov dword [eax + 0x9d4], 2
mov ecx, dword [esp + 0x14c]
push ecx
call fcn.00450040
mov edx, dword [esp + 0x14]
add esp, 4
mov dword [edx + 0xa20], eax
jmp 0x434a81
mov dword [eax + 0x9d4], 4
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x9dc], ebp
mov al, byte [esp + 0x13e]
and al, 0xc
cmp al, 4
jne 0x434ab4
mov edx, dword [esp + 0x10]
mov dword [edx + 0x9e4], ebp
mov eax, dword [esp + 0x10]
mov dword [eax + 0x9dc], edi
mov eax, dword [esp + 0x10]
jmp 0x434abc
xor edi, edi
mov eax, dword [esp + 0x10]
jmp 0x434abc
xor edi, edi
cmp dword [eax + 0x9ec], ebp
jne 0x434ad9
mov dword [eax + 0xa10], ebp
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0xa18], ebp
jmp 0x434d1f
mov eax, dword [eax + 0x9d4]
cmp eax, 0xffffffff
je 0x434b77
test eax, 0x3fc0
je 0x434b77
lea edx, [esp + 0x14]
push edx
call fcn.0044ffc0
lea eax, [esp + 0x1f]
push 0x22
push eax
mov byte [esp + 0x20], 0x51
call fcn.0044ffd0
mov eax, dword [esp + 0x1c]
push 0x23
lea ecx, [esp + 0x14c]
push 0x22
push ecx
push ebp
lea edx, [esp + 0x30]
push 0xa
add eax, 4
push edx
push eax
call fcn.0042c710
mov esi, eax
add esp, 0x28
cmp esi, edi
jne 0x436d2f
mov ecx, dword [esp + 0x140]
mov edx, dword [esp + 0x10]
and ecx, 0xff
mov ebp, 1
mov dword [edx + 0xa10], ecx
mov eax, dword [esp + 0x142]
mov ecx, dword [esp + 0x10]
and eax, 0xff
mov dword [ecx + 0xa18], eax
mov eax, dword [esp + 0x10]
jmp 0x434d23
lea edx, [esp + 0x14]
push edx
call fcn.0044ffc0
lea eax, [esp + 0x1f]
push 0xc
push eax
mov byte [esp + 0x20], 0x43
mov byte [esp + 0x22], 1
mov byte [esp + 0x26], 0
call fcn.0044ffd0
mov eax, dword [esp + 0x1c]
push 0x1e
lea ecx, [esp + 0x14c]
push 0xc
push ecx
push ebp
lea edx, [esp + 0x30]
push 0xa
add eax, 4
push edx
push eax
call fcn.0042c710
mov esi, eax
add esp, 0x28
cmp esi, edi
je 0x434c5f
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x9e4], edi
je 0x436d33
lea ecx, [esp + 0x14]
push ecx
call fcn.0044ffc0
lea edx, [esp + 0x1f]
push 0x22
push edx
mov byte [esp + 0x20], 0x51
call fcn.0044ffd0
mov edx, dword [esp + 0x1c]
push 0x23
lea eax, [esp + 0x14c]
push 0x22
push eax
push 1
lea ecx, [esp + 0x30]
push 0xa
add edx, 4
push ecx
push edx
call fcn.0042c710
mov esi, eax
add esp, 0x28
test esi, esi
jne 0x436d2f
mov eax, dword [esp + 0x140]
mov ecx, dword [esp + 0x10]
and eax, 0xff
mov ebp, 1
mov dword [ecx + 0xa10], eax
mov edx, dword [esp + 0x142]
mov eax, dword [esp + 0x10]
and edx, 0xff
mov dword [eax + 0xa18], edx
mov eax, dword [esp + 0x10]
jmp 0x434d23
mov ecx, dword [esp + 0x13f]
mov edx, dword [esp + 0x10]
and ecx, 0xff
mov dword [edx + 0xa10], ecx
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x9dc], ebp
jne 0x434c90
cmp dword [eax + 0x9e4], ebp
je 0x434c90
inc dword [eax + 0xa10]
lea eax, [esp + 0x14]
push eax
call fcn.0044ffc0
lea ecx, [esp + 0x1f]
push 0x324
push ecx
mov byte [esp + 0x20], 0x43
mov byte [esp + 0x22], 0
mov byte [esp + 0x26], 0
call fcn.0044ffd0
mov ecx, dword [esp + 0x1c]
push 0x1e
lea edx, [esp + 0x14c]
push 0x324
push edx
push ebp
lea eax, [esp + 0x30]
push 0xa
add ecx, 4
push eax
push ecx
call fcn.0042c710
mov esi, eax
add esp, 0x28
cmp esi, edi
jne 0x436d2f
mov edx, dword [esp + 0x13f]
mov eax, dword [esp + 0x10]
and edx, 0xff
mov ebp, 1
mov dword [eax + 0xa18], edx
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x9dc], ebp
jne 0x434d23
cmp dword [eax + 0x9e4], ebp
je 0x434d23
inc dword [eax + 0xa18]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x13a8]
or ebx, 0xffffffff
cmp ecx, ebx
jne 0x435420
cmp dword [eax + 0x9d4], ebx
je 0x435420
mov ecx, dword [eax + 0x9ec]
xor edx, edx
cmp ecx, edx
je 0x434e0a
mov dword [eax + 0xa34], edx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0xa38], ebp
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x14]
mov dword [edx + 0xa3c], 0x100
mov eax, dword [esp + 0x10]
push ecx
mov dword [eax + 0x13a8], 0x1000
call fcn.0044ffc0
lea edx, [esp + 0x1f]
push 0x22
push edx
mov byte [esp + 0x20], 0x51
call fcn.0044ffd0
mov edx, dword [esp + 0x1c]
push 0x23
lea eax, [esp + 0x14c]
push 0x22
push eax
push ebp
lea ecx, [esp + 0x30]
push 0xa
add edx, 4
push ecx
push edx
call fcn.0042c710
add esp, 0x28
test eax, eax
jne 0x435417
mov ecx, dword [esp + 0x14c]
xor edx, edx
mov dl, ch
mov eax, 0x64
sub eax, edx
xor edx, edx
mov dl, byte [esp + 0x14e]
lea eax, [eax + eax*2]
shr ecx, 0x18
lea eax, [eax + eax*4]
shl eax, 2
sub eax, edx
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
sub eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x2e4], eax
mov eax, dword [esp + 0x10]
jmp 0x435420
mov ecx, dword [eax + 0xa18]
mov dword [esp + 0x20], edx
cmp ecx, edx
jle 0x435420
mov edi, edx
cmp dword [eax + 0xa10], 1
jne 0x434e3e
cmp ecx, 0xa
jle 0x434e3e
test byte [eax + 0x9d4], 7
je 0x434e3e
cmp edi, 1
jg 0x4352de
lea edx, [esp + 0x14]
push edx
call fcn.0044ffc0
lea eax, [edi + 1]
lea ecx, [esp + 0x1a]
push eax
push ecx
mov byte [esp + 0x20], 0x52
mov byte [esp + 0x21], 1
call fcn.0044fff0
lea edx, [esp + 0x27]
push 0x24
push edx
call fcn.0044ffd0
mov edx, dword [esp + 0x24]
push 0x2d
lea eax, [esp + 0x154]
push 0x24
push eax
push 1
lea ecx, [esp + 0x38]
push 0xa
add edx, 4
push ecx
push edx
call fcn.0042c710
mov esi, eax
add esp, 0x30
test esi, esi
jne 0x4352f6
mov al, byte [esp + 0x142]
mov ebp, edi
and al, 0xc0
cmp al, 0x40
jne 0x434ec1
mov ecx, dword [esp + 0x10]
shl ebp, 6
mov dword [ecx + ebp + 0x13a8], 0x1000
jmp 0x435155
mov edx, dword [esp + 0x144]
push edx
shl ebp, 6
call fcn.00450040
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [ecx + ebp + 0x1394], eax
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x9d4]
cmp eax, 0xffffffff
je 0x435068
test ah, 0xc
je 0x43502a
mov eax, dword [esp + 0x1d40]
push 0
push 0x80000000
push 0x4000
lea ecx, [esp + 0x34]
push eax
push ecx
call fcn.00439a00
add esp, 0x14
test eax, eax
jne 0x43500d
mov edx, dword [esp + 0x10]
push 1
lea ecx, [esp + 0x1540]
mov eax, dword [edx + ebp + 0x1394]
mov edx, dword [esp + 0x2c]
add eax, 0x10
push eax
push ecx
push edx
call fcn.00439b50
add esp, 0x10
test eax, eax
jne 0x434fd4
mov ecx, 3
mov edi, 0x4aae84
lea esi, [esp + 0x153c]
xor eax, eax
repe cmpsw word [esi], word es:[edi]
jne 0x434f8f
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x158c]
mov dword [edx + ebp + 0x139c], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x158c]
mov dword [eax + 0x9f4], ecx
jmp 0x434fd4
mov edx, dword [esp + 0x148]
push edx
call fcn.00450040
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [ecx + ebp + 0x139c], eax
mov edx, dword [esp + 0x10]
mov eax, dword [edx + ebp + 0x139c]
test eax, eax
jne 0x434fd4
mov eax, dword [esp + 0x154]
push eax
call fcn.00450040
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [ecx + ebp + 0x139c], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + ebp + 0x139c]
mov edx, eax
and edx, 0x8000000f
jns 0x434fee
dec edx
or edx, 0xfffffff0
inc edx
sub eax, edx
add eax, 0x10
mov dword [ecx + ebp + 0x139c], eax
mov eax, dword [esp + 0x28]
push eax
call fcn.0043a0c0
mov edi, dword [esp + 0x24]
add esp, 4
jmp 0x435083
mov ecx, dword [esp + 0x148]
push ecx
call fcn.00450040
mov edx, dword [esp + 0x14]
add esp, 4
mov dword [edx + ebp + 0x139c], eax
jmp 0x435083
cmp eax, 0xffffffff
je 0x435068
test al, 0x80
je 0x435068
test edi, edi
jne 0x435068
mov eax, dword [esp + 0x158]
push eax
call fcn.00450040
add esp, 4
test eax, eax
je 0x435068
mov ecx, dword [esp + 0x158]
push ecx
call fcn.00450040
mov edx, dword [esp + 0x14]
add esp, 4
inc eax
mov dword [edx + 0x139c], eax
jmp 0x435083
mov eax, dword [esp + 0x154]
push eax
call fcn.00450040
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [ecx + ebp + 0x139c], eax
mov edx, dword [esp + 0x10]
mov dword [edx + ebp + 0x13a8], 0
mov cl, byte [esp + 0x142]
mov al, cl
and al, 0xc0
cmp al, 0xc0
jne 0x4350b7
mov ecx, dword [esp + 0x10]
mov dword [ecx + ebp + 0x13a8], 0x80000
mov cl, byte [esp + 0x142]
mov eax, dword [esp + 0x10]
test dword [eax + 0x9d4], 0x3fc0
je 0x4350d3
mov ecx, dword [eax + ebp + 0x13a8]
or ch, 0x40
jmp 0x43514e
test byte [esp + 0x141], 4
jne 0x43510c
mov ecx, dword [eax + ebp + 0x13a8]
or ch, 0x20
mov dword [eax + ebp + 0x13a8], ecx
mov al, byte [esp + 0x141]
test al, 1
je 0x435155
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + ebp + 0x13a8]
or ecx, 0x20000
jmp 0x43514e
and cl, 0xf
cmp cl, 1
mov ecx, dword [eax + ebp + 0x13a8]
jne 0x435120
or ch, 0x40
jmp 0x435123
or ch, 0x80
mov dword [eax + ebp + 0x13a8], ecx
mov eax, dword [esp + 0x10]
test byte [eax + 0x9d4], 7
je 0x435155
test byte [esp + 0x141], 0x20
je 0x435155
mov ecx, dword [eax + ebp + 0x13a8]
or ecx, 0x10000
mov dword [eax + ebp + 0x13a8], ecx
mov eax, dword [esp + 0x13f]
mov edx, eax
and edx, 0xff
dec edx
cmp ebx, edx
je 0x435230
cmp ebx, 0xffffffff
je 0x4351b1
mov ecx, dword [esp + 0x10]
shl ebx, 4
mov eax, ebx
mov esi, dword [eax + ecx + 0xa3c]
and esi, 0xfffffdff
mov dword [eax + ecx + 0xa3c], esi
mov ecx, dword [esp + 0x10]
mov esi, pe_nt_image_headers32
mov edx, dword [eax + ecx + 0xa3c]
or edx, esi
mov dword [eax + ecx + 0xa3c], edx
mov eax, dword [esp + 0x13f]
jmp 0x4351b6
mov esi, pe_nt_image_headers32
mov ecx, dword [esp + 0x10]
and eax, 0xff
dec eax
mov ebx, eax
shl eax, 4
mov dword [eax + ecx + 0xa3c], 0
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + ecx + 0xa3c]
or dh, 0x10
mov dword [eax + ecx + 0xa3c], edx
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x9d4]
test dh, 4
je 0x4351fd
or dword [eax + ecx + 0xa3c], esi
jmp 0x435235
test esi, edx
je 0x43521d
test byte [esp + 0x142], 0x20
mov edx, dword [eax + ecx + 0xa3c]
je 0x435224
or edx, esi
mov dword [eax + ecx + 0xa3c], edx
jmp 0x435235
mov edx, dword [eax + ecx + 0xa3c]
or dh, 2
mov dword [eax + ecx + 0xa3c], edx
jmp 0x435235
mov esi, pe_nt_image_headers32
mov eax, dword [esp + 0x10]
mov ecx, ebx
shl ecx, 4
cmp dword [ecx + eax + 0xa34], 0xffffffff
jne 0x43525e
mov dword [ecx + eax + 0xa34], edi
mov edx, dword [esp + 0x10]
mov dword [ecx + edx + 0xa38], 0
mov eax, dword [esp + 0x10]
mov edx, dword [ecx + eax + 0xa38]
inc edx
mov dword [ecx + eax + 0xa38], edx
mov eax, dword [esp + 0x10]
mov edx, dword [eax + ebp + 0x13a8]
test dh, 0x10
je 0x4352aa
mov edx, dword [ecx + eax + 0xa3c]
and dh, 0xfd
mov dword [ecx + eax + 0xa3c], edx
mov eax, dword [esp + 0x10]
mov edx, dword [ecx + eax + 0xa3c]
or edx, esi
mov dword [ecx + eax + 0xa3c], edx
mov eax, dword [esp + 0x10]
test dword [eax + 0x9d4], 0x3fc0
jne 0x4352cf
mov ecx, dword [eax + ebp + 0x13a8]
test ch, 0x20
jne 0x4352de
mov dword [eax + ebp + 0x13b0], 0x96
jmp 0x4352da
mov dword [eax + ebp + 0x13b0], 0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xa18]
inc edi
cmp edi, ecx
mov dword [esp + 0x20], edi
jl 0x434e1e
jmp 0x43541b
push esi
call fcn.004500f0
add esp, 4
cmp eax, 5
jne 0x43531a
push esi
call fcn.00450100
add esp, 4
cmp eax, 0x20
je 0x435417
mov edi, dword [esp + 0x20]
test edi, edi
jne 0x436d2f
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xa18], 1
jne 0x436d33
lea eax, [esp + 0x14]
push eax
call fcn.0044ffc0
lea ecx, [esp + 0x20]
push 0x804
push ecx
mov byte [esp + 0x20], 0xad
mov byte [esp + 0x26], 0
mov byte [esp + 0x27], 0
call fcn.0044ffd0
mov ecx, dword [esp + 0x1c]
push 9
lea edx, [esp + 0x14c]
push 0x804
push edx
push 1
lea eax, [esp + 0x30]
push 0xc
add ecx, 4
push eax
push ecx
call fcn.0042c710
add esp, 0x28
test eax, eax
jne 0x435417
mov edx, dword [esp + 0x10]
mov dword [edx + 0x13a8], 0x4000
mov eax, dword [esp + 0x144]
push eax
call fcn.00450040
mov ecx, dword [esp + 0x14]
sub eax, 0x30000
mov dword [ecx + 0x1394], eax
mov edx, dword [esp + 0x148]
push edx
call fcn.00450040
mov esi, 1
sub esi, eax
mov eax, dword [esp + 0x150]
push eax
call fcn.00450040
mov ecx, dword [esp + 0x1c]
add esi, eax
add esp, 0xc
xor eax, eax
mov dword [ecx + 0x139c], esi
mov edx, dword [esp + 0x10]
mov dword [edx + 0x13b0], eax
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0xa34], eax
mov edx, dword [esp + 0x10]
mov dword [edx + 0xa38], 1
mov eax, dword [esp + 0x10]
mov dword [eax + 0xa3c], 0x1220
mov eax, dword [esp + 0x10]
mov ebp, 1
cmp dword [eax + 0x9d8], 0xffffffff
jne 0x435f40
cmp dword [eax + 0x9ec], ebp
je 0x435f40
cmp dword [eax + 0x9e4], ebp
je 0x435f40
mov ecx, dword [eax + 0x9d4]
cmp ecx, 0xffffffff
je 0x43545c
test ecx, 0x3fc0
jne 0x435f40
mov ecx, 0x400
mov eax, 0xcccccccc
lea edi, [esp + 0x13c]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x14]
push ecx
call fcn.0044ffc0
lea edx, [esp + 0x1f]
push 0x324
push edx
mov byte [esp + 0x20], 0x43
mov byte [esp + 0x22], 0
mov byte [esp + 0x26], 0
call fcn.0044ffd0
mov edx, dword [esp + 0x1c]
push 0x1e
lea eax, [esp + 0x14c]
push 0x324
push eax
push ebp
lea ecx, [esp + 0x30]
push 0xa
add edx, 4
push ecx
push edx
call fcn.0042c710
mov esi, eax
add esp, 0x28
test esi, esi
jne 0x436d2f
mov cl, byte [esp + 0x142]
lea eax, [esp + 0x140]
cmp cl, 0xaa
je 0x4354ef
cmp cl, 0xcc
je 0x435f3c
mov cl, byte [eax + 0xa]
add eax, 8
cmp cl, 0xaa
jne 0x4354db
mov eax, dword [eax + 4]
push eax
call fcn.00450040
lea ecx, [esp + 0x18]
mov ebp, eax
push ecx
call fcn.0044ffc0
lea edx, [esp + 0x23]
push 4
push edx
mov byte [esp + 0x24], 0x43
mov byte [esp + 0x2a], 0
call fcn.0044ffd0
mov edx, dword [esp + 0x20]
push 0x1e
lea eax, [esp + 0x150]
push 4
push eax
push 1
lea ecx, [esp + 0x34]
push 0xa
add edx, 4
push ecx
push edx
mov byte [esp + 0x49], 0x80
call fcn.0042c710
mov esi, eax
add esp, 0x2c
test esi, esi
jne 0x436d2f
mov eax, dword [esp + 0x13c]
push eax
call fcn.00450020
mov ecx, dword [esp + 0x14]
mov ebx, eax
add ebx, 2
add esp, 4
test bl, 1
mov dword [ecx + 0x9e8], esi
je 0x435581
mov edx, dword [esp + 0x10]
inc ebx
mov dword [edx + 0x9e8], 2
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x13c]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x14]
push eax
call fcn.0044ffc0
lea ecx, [esp + 0x1f]
push ebx
push ecx
mov byte [esp + 0x20], 0x43
mov byte [esp + 0x26], 0
call fcn.0044ffd0
mov ecx, dword [esp + 0x1c]
push 0x1e
lea edx, [esp + 0x14c]
push ebx
push edx
push 1
lea eax, [esp + 0x30]
push 0xa
add ecx, 4
push eax
push ecx
mov byte [esp + 0x45], 0x80
call fcn.0042c710
mov esi, eax
add esp, 0x28
test esi, esi
jne 0x436d2f
mov eax, 0xba2e8ba3
mov esi, 1
mul ebx
mov eax, edx
shr eax, 3
mov dword [esp + 0x20], eax
dec eax
test eax, eax
jl 0x43563a
lea edx, [eax + eax*4]
lea ecx, [esp + edx*2 + 0x143]
add ecx, eax
cmp byte [ecx], 0xa2
je 0x435618
dec eax
sub ecx, 0xb
test eax, eax
jge 0x435609
jmp 0x43563a
lea ecx, [eax + eax*4]
push 1
lea edx, [esp + ecx*2 + 0x14c]
add edx, eax
push edx
call fcn.00450070
sub eax, 0x96
add esp, 8
cmp ebp, eax
je 0x43563a
xor esi, esi
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x20]
cmp dword [eax + 0x9e8], 1
jne 0x435790
lea ecx, [edi + edi*4]
lea edx, [esp + ecx*2 + 0x140]
mov al, byte [edx + edi - 8]
lea ebp, [edx + edi]
cmp al, 0xa0
jae 0x435790
lea eax, [esp + 0x14]
push eax
call fcn.0044ffc0
lea ecx, [esp + 0x1f]
push 0x324
push ecx
mov byte [esp + 0x20], 0x43
mov byte [esp + 0x21], 0
mov byte [esp + 0x22], 0
mov byte [esp + 0x26], 0
call fcn.0044ffd0
mov ecx, dword [esp + 0x1c]
push 0x1e
lea edx, [esp + 0x114c]
push 0x324
push edx
push 1
lea eax, [esp + 0x30]
push 0xa
add ecx, 4
push eax
push ecx
call fcn.0042c710
add esp, 0x28
test eax, eax
jne 0x435790
lea eax, [ebp - 8]
push esi
push eax
lea edi, [esp + 0x1148]
call fcn.00450130
mov edx, dword [esp + 0x114a]
add esp, 8
and edx, 0xff
cmp edx, eax
je 0x435703
lea eax, [ebp - 8]
push esi
push eax
add edi, 8
call fcn.00450130
xor ecx, ecx
add esp, 8
mov cl, byte [edi + 2]
cmp ecx, eax
jne 0x4356ea
mov edx, dword [edi + 4]
push esi
push edx
call fcn.00450040
mov ecx, eax
mov eax, 0x7482296b
imul ecx
sar edx, 0xb
mov eax, edx
add esp, 4
shr eax, 0x1f
add edx, eax
push edx
call fcn.00450160
add esp, 8
mov byte [ebp - 3], al
mov ecx, dword [edi + 4]
push esi
push ecx
call fcn.00450040
cdq
mov ecx, 0x1194
add esp, 4
idiv ecx
mov eax, 0x1b4e81b5
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
call fcn.00450160
add esp, 8
mov byte [ebp - 2], al
mov ecx, dword [edi + 4]
push esi
push ecx
call fcn.00450040
cdq
mov ecx, 0x1194
add esp, 4
idiv ecx
mov ecx, 0x4b
mov eax, edx
cdq
idiv ecx
push edx
call fcn.00450160
mov edi, dword [esp + 0x28]
add esp, 8
mov byte [ebp - 1], al
mov eax, dword [esp + 0x10]
add ebx, 4
lea edx, [esp + 0x13c]
push ebx
add eax, 0xbc54
push edx
push eax
call fcn.0047e960
add esp, 0xc
test edi, edi
jle 0x43583c
mov ecx, dword [esp + 0x20]
lea edi, [esp + 0x143]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x10]
lea ebx, [edi - 3]
push esi
push ebx
mov ebp, dword [edx + 0xa14]
call fcn.00450130
add esp, 8
cmp ebp, eax
jle 0x4357e4
mov eax, ebp
jmp 0x4357ee
push esi
push ebx
call fcn.00450130
add esp, 8
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0xa14], eax
mov al, byte [edi]
cmp al, 0xa0
jae 0x43582e
mov edx, dword [esp + 0x10]
push esi
push edi
mov ebx, dword [edx + 0xa1c]
call fcn.00450130
add esp, 8
cmp ebx, eax
jle 0x43581a
mov eax, ebx
jmp 0x435824
push esi
push edi
call fcn.00450130
add esp, 8
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0xa1c], eax
mov eax, dword [esp + 0x24]
add edi, 0xb
dec eax
mov dword [esp + 0x24], eax
jne 0x4357c5
mov eax, dword [esp + 0x10]
xor ebx, ebx
mov ecx, dword [eax + 0xa14]
test ecx, ecx
jle 0x43595c
mov ecx, dword [esp + 0x20]
test ecx, ecx
jle 0x43594d
lea ebp, [esp + 0x143]
mov dword [esp + 0x24], ecx
cmp byte [ebp], 0xa0
jne case.0x4358cb.3
lea edx, [ebp - 3]
push esi
push edx
call fcn.00450130
lea ecx, [ebx + 1]
add esp, 8
cmp eax, ecx
jne case.0x4358cb.3
lea edx, [ebp + 5]
push esi
push edx
call fcn.00450130
mov edx, dword [esp + 0x18]
mov ecx, ebx
add esp, 8
dec eax
shl ecx, 4
mov dword [ecx + edx + 0xa34], eax
mov ecx, dword [esp + 0x10]
lea eax, [ebx + 0xa4]
xor edx, edx
shl eax, 4
mov dword [eax + ecx], 0x200
mov dl, byte [ebp + 6]
mov edi, edx
cmp edi, 0x20
ja case.0x4358cb.3
xor ecx, ecx
mov cl, byte [edi + 0x436f38]
jmp dword [ecx*4 + 0x436f28]
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + ecx]
or dh, 0x10
jmp 0x4358f4
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + ecx]
or dh, 0x40
jmp 0x4358f4
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + ecx]
or dh, 0x20
mov dword [eax + ecx], edx
cmp byte [ebp], 0xa1
jne 0x435937
lea edx, [ebp - 3]
push esi
push edx
call fcn.00450130
lea ecx, [ebx + 1]
add esp, 8
cmp eax, ecx
jne 0x435937
lea edx, [ebp + 5]
mov edi, ebx
push esi
push edx
shl edi, 4
call fcn.00450130
mov ecx, eax
mov eax, dword [esp + 0x18]
add esp, 8
sub ecx, dword [edi + eax + 0xa34]
mov dword [edi + eax + 0xa38], ecx
mov eax, dword [esp + 0x24]
add ebp, 0xb
dec eax
mov dword [esp + 0x24], eax
jne 0x435867
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xa14]
inc ebx
cmp ebx, ecx
jl 0x435850
mov ecx, dword [eax + 0xa1c]
test ecx, ecx
jle 0x435bae
xor ebp, ebp
mov dword [esp + 0x24], 2
mov eax, dword [esp + 0x20]
xor ebx, ebx
test eax, eax
jle 0x435b8f
mov edx, dword [esp + 0x24]
lea edi, [esp + 0x143]
dec edx
mov dword [esp + 0x30], edx
push esi
push edi
call fcn.00450130
mov ecx, dword [esp + 0x38]
add esp, 8
cmp eax, ecx
je 0x4359b5
mov eax, dword [esp + 0x20]
inc ebx
add edi, 0xb
cmp ebx, eax
jl 0x435992
jmp 0x435b8f
lea eax, [ebx + ebx*4]
push esi
lea ecx, [esp + eax*2 + 0x144]
add ebx, ecx
mov dword [esp + 0x34], ebx
lea edx, [ebx + 8]
push edx
call fcn.00450070
mov ecx, dword [esp + 0x18]
sub eax, 0x96
push esi
push ebx
mov dword [ecx + ebp + 0x1398], eax
call fcn.00450130
mov edi, eax
push esi
push ebx
shl edi, 4
call fcn.00450130
mov edx, eax
mov eax, dword [esp + 0x28]
shl edx, 4
mov edi, dword [edi + eax + 0xa28]
push esi
mov ecx, dword [edx + eax + 0xa24]
lea eax, [ebx + 3]
push eax
add edi, ecx
call fcn.00450130
add esp, 0x20
cmp eax, edi
jne 0x435aa0
lea ecx, [esp + 0x140]
xor edi, edi
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x2c]
cmp byte [edx + 3], 0xa2
jne 0x435a56
push esi
push ebx
call fcn.00450130
mov ebx, eax
mov eax, dword [esp + 0x34]
push esi
push eax
call fcn.00450130
add esp, 0x10
cmp eax, ebx
je 0x435a6f
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
inc edi
add ecx, 0xb
cmp edi, eax
mov dword [esp + 0x2c], ecx
jl 0x435a2d
jmp 0x435b13
mov ecx, dword [esp + 0x10]
lea edx, [edi + edi*4]
push esi
lea eax, [esp + edx*2 + 0x14c]
lea ebx, [ecx + ebp]
add eax, edi
push eax
call fcn.00450070
mov ecx, dword [ebx + 0x1398]
add esp, 8
sub eax, ecx
mov dword [ebx + 0x13a0], eax
mov ebx, dword [esp + 0x30]
jmp 0x435b13
lea ecx, [esp + 0x143]
xor edi, edi
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x2c]
push esi
push edx
call fcn.00450130
mov ecx, dword [esp + 0x2c]
add esp, 8
cmp eax, ecx
je 0x435ad9
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
inc edi
add ecx, 0xb
cmp edi, eax
mov dword [esp + 0x2c], ecx
jl 0x435aad
jmp 0x435b13
mov eax, dword [esp + 0x10]
lea edx, [edi + edi*4]
push esi
lea ecx, [eax + ebp]
lea eax, [esp + edx*2 + 0x14c]
add eax, edi
mov dword [esp + 0x34], ecx
push eax
call fcn.00450070
mov ecx, eax
mov eax, dword [esp + 0x38]
mov edx, 0xffffff6a
add esp, 8
sub edx, dword [eax + 0x1398]
add ecx, edx
mov dword [eax + 0x13a0], ecx
mov eax, dword [esp + 0x10]
mov dword [eax + ebp + 0x13ac], 0
mov al, byte [ebx + 1]
test al, 4
je 0x435b5b
push esi
push ebx
call fcn.00450130
mov ecx, eax
mov eax, dword [esp + 0x18]
add ecx, 0xa3
add esp, 8
shl ecx, 4
mov edx, dword [ecx + eax]
mov ecx, dword [eax + ebp + 0x13ac]
test dh, 0x20
je 0x435b56
or ch, 0x80
jmp 0x435b88
or ch, 0x40
jmp 0x435b88
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + ebp + 0x13ac]
or ch, 0x20
mov dword [eax + ebp + 0x13ac], ecx
mov al, byte [ebx + 1]
test al, 2
je 0x435b8f
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + ebp + 0x13ac]
or ecx, 0x20000
mov dword [eax + ebp + 0x13ac], ecx
mov eax, dword [esp + 0x24]
add ebp, 0x40
inc eax
mov dword [esp + 0x24], eax
lea edx, [eax - 2]
mov eax, dword [esp + 0x10]
cmp edx, dword [eax + 0xa1c]
jl 0x435974
mov dword [eax + 0x9e0], 0
mov eax, dword [esp + 0x20]
test eax, eax
jle 0x435d60
lea ebx, [esp + 0x144]
mov dword [esp + 0x30], eax
cmp byte [ebx - 1], 0xb0
jne 0x435d4e
lea edi, [ebx - 4]
push esi
push edi
call fcn.00450130
mov ecx, dword [esp + 0x18]
add esp, 8
mov edx, dword [ecx + 0xa14]
push esi
cmp eax, edx
jne 0x435d14
push ebx
call fcn.00450070
add esp, 8
test eax, eax
je 0x435d4e
mov dl, byte [ebx]
cmp dl, 0xff
je 0x435d4e
mov cl, byte [ebx + 1]
cmp cl, 0xff
je 0x435d4e
mov al, byte [ebx + 2]
cmp al, 0xff
je 0x435d4e
cmp dl, 0xa5
je 0x435d4e
cmp cl, 0xa5
je 0x435d4e
cmp al, 0xa5
je 0x435d4e
mov edx, dword [esp + 0x10]
mov ebp, 1
push esi
push edi
mov dword [edx + 0x9e0], ebp
call fcn.00450130
mov ecx, dword [esp + 0x18]
add eax, 0xa3
shl eax, 4
add eax, ecx
push esi
push edi
mov edx, dword [eax]
and dh, 0xfd
mov dword [eax], edx
call fcn.00450130
mov edx, dword [esp + 0x20]
add eax, 0xa3
shl eax, 4
add eax, edx
add esp, 0x10
mov edx, dword [eax]
or dh, 1
mov dword [eax], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xa14]
inc ecx
mov dword [eax + 0xa14], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xa14]
mov edx, dword [eax + 0xa1c]
shl ecx, 4
mov dword [ecx + eax + 0xa24], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xa14]
shl ecx, 4
mov dword [ecx + eax + 0xa28], ebp
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0xa14]
add edx, 0xa3
shl edx, 4
mov dword [edx + eax], pe_nt_image_headers32
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0xa1c]
inc edi
mov dword [eax + 0xa1c], edi
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xa1c]
shl ecx, 6
mov dword [ecx + eax + 0x136c], 0x1000
jmp 0x435d4e
push edi
call fcn.00450130
mov edx, dword [esp + 0x18]
add eax, 0xa3
shl eax, 4
add eax, edx
push esi
push edi
mov edx, dword [eax]
and dh, 0xfd
mov dword [eax], edx
call fcn.00450130
mov ecx, dword [esp + 0x20]
add eax, 0xa3
shl eax, 4
add eax, ecx
add esp, 0x10
mov ecx, dword [eax]
or ch, 1
mov dword [eax], ecx
mov eax, dword [esp + 0x30]
add ebx, 0xb
dec eax
mov dword [esp + 0x30], eax
jne 0x435bcf
mov eax, dword [esp + 0x10]
xor edi, edi
mov dword [esp + 0x20], edi
mov ecx, dword [eax + 0xa1c]
test ecx, ecx
jle 0x435eff
mov ecx, edi
shl ecx, 6
mov edx, dword [ecx + eax + 0x13ac]
test dh, 0x10
jne 0x435eec
test edi, edi
jne 0x435da7
mov edx, dword [eax + 0x1398]
add edx, 0x96
mov dword [eax + 0x13b4], edx
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0xa1c]
dec edx
cmp edi, edx
jne 0x435dc2
add dword [ecx + eax + 0x13a0], 0xffffff6a
jmp 0x435ee8
mov esi, dword [eax + 0xa14]
xor ebx, ebx
test esi, esi
jle 0x435dea
inc edi
lea edx, [eax + 0xa34]
mov ebp, dword [edx + 4]
add ebp, dword [edx]
cmp ebp, edi
jg 0x435de6
inc ebx
add edx, 0x10
cmp ebx, esi
jl 0x435dd5
mov edi, dword [esp + 0x20]
xor edx, edx
test esi, esi
jle 0x435e0d
lea edi, [eax + 0xa34]
mov ebp, dword [edi + 4]
add ebp, dword [edi]
cmp ebp, dword [esp + 0x20]
jg 0x435e09
inc edx
add edi, 0x10
cmp edx, esi
jl 0x435df6
mov edi, dword [esp + 0x20]
cmp edx, ebx
jne 0x435eb9
mov edx, dword [ecx + eax + 0x13ac]
mov esi, 0x2000
and edx, esi
je 0x435e58
test dword [ecx + eax + 0x13ec], esi
jne 0x435e58
mov edx, dword [ecx + eax + 0x13a0]
lea eax, [ecx + eax + 0x13a0]
add edx, 0xffffff1f
mov dword [eax], edx
mov eax, dword [esp + 0x10]
mov dword [ecx + eax + 0x13f4], 0xe1
jmp 0x435ee8
test edx, edx
jne 0x435eec
test dword [ecx + eax + 0x13ec], esi
je 0x435e90
mov edx, dword [ecx + eax + 0x13a0]
lea eax, [ecx + eax + 0x13a0]
add edx, 0xffffff6a
mov dword [eax], edx
mov edx, dword [esp + 0x10]
mov dword [ecx + edx + 0x13f4], 0x96
jmp 0x435ee8
test edx, edx
jne 0x435eec
test dword [ecx + eax + 0x13ec], esi
jne 0x435eec
mov edx, dword [ecx + eax + 0x13a0]
lea eax, [ecx + eax + 0x13a0]
add edx, 0xffffff6a
mov dword [eax], edx
mov eax, dword [esp + 0x10]
jmp 0x435edd
mov esi, dword [ecx + eax + 0x13a0]
add esi, 0xffffff6a
mov dword [ecx + eax + 0x13a0], esi
mov eax, dword [esp + 0x10]
mov edx, dword [ecx + eax + 0x13ec]
test dh, 0x10
jne 0x435eec
mov dword [ecx + eax + 0x13f4], 0x96
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xa1c]
inc edi
cmp edi, ecx
mov dword [esp + 0x20], edi
jl 0x435d78
mov edx, dword [eax + 0x9e0]
mov ecx, 1
cmp edx, ecx
jne 0x435f1a
mov dword [eax + 0x9d8], 2
jmp 0x435f20
mov dword [eax + 0x9d8], ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x9ec], 0
mov edx, dword [esp + 0x10]
mov dword [edx + 0x9f4], 0xffffffff
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x9d0]
or edx, 0xffffffff
cmp ecx, edx
jne 0x436357
mov ecx, dword [eax + 0x9e0]
cmp ecx, edx
je 0x435f65
mov dword [eax + 0x9dc], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xa1c]
cmp ecx, edx
je 0x435f79
mov dword [eax + 0xa18], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xa14]
cmp ecx, edx
je 0x435f8d
mov dword [eax + 0xa10], ecx
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x9d4], edx
jne 0x435fa5
mov ecx, dword [eax + 0x9d8]
mov dword [eax + 0x9d4], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xa18]
xor ebp, ebp
test ecx, ecx
jle 0x436018
xor ecx, ecx
mov edx, dword [ecx + eax + 0x13ac]
cmp edx, 0xffffffff
je 0x435fca
mov dword [ecx + eax + 0x13a8], edx
mov eax, dword [esp + 0x10]
mov esi, dword [ecx + eax + 0x1398]
cmp esi, 0xffffffff
je 0x435ff3
mov edi, dword [ecx + eax + 0x1394]
lea edx, [ecx + eax + 0x1394]
cmp edi, 0xffffffff
je 0x435fed
cmp edi, esi
jg 0x435ff3
mov dword [edx], esi
mov eax, dword [esp + 0x10]
mov edx, dword [ecx + eax + 0x13b4]
cmp edx, 0xffffffff
je 0x43600a
mov dword [ecx + eax + 0x13b0], edx
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0xa18]
inc ebp
add ecx, 0x40
cmp ebp, edx
jl 0x435fb3
mov edx, dword [eax + 0xa10]
mov dword [esp + 0x24], 0
test edx, edx
jle 0x436348
mov edi, dword [esp + 0x24]
xor esi, esi
mov ebx, 1
mov ebp, 0x10
mov ecx, dword [eax + 0x9d4]
test cl, 0x40
je 0x436057
mov ecx, dword [eax + 0x9dc]
test ecx, ecx
jne 0x4360ca
cmp edx, ebx
jmp 0x436070
test cl, 0x80
je 0x436081
mov ecx, dword [eax + 0x9dc]
test ecx, ecx
jne 0x4360ca
cmp edx, ebx
jne 0x4360ca
cmp dword [eax + 0xa38], ebx
jne 0x4360ca
mov ecx, dword [esi + eax + 0xa3c]
or ecx, 0x20
jmp 0x436322
test ch, 1
je 0x43609f
mov ecx, dword [eax + 0x9dc]
test ecx, ecx
mov ecx, dword [esi + eax + 0xa3c]
jne 0x4360d1
or ecx, 0x20
jmp 0x436322
test ch, 2
je 0x4360b2
mov ecx, dword [esi + eax + 0xa3c]
or ecx, ebp
jmp 0x436322
test ch, 0x10
je 0x4360c5
mov ecx, dword [esi + eax + 0xa3c]
or ecx, ebp
jmp 0x436322
test ch, 4
je 0x4360d8
mov ecx, dword [esi + eax + 0xa3c]
or ecx, ebp
jmp 0x436322
test ch, 8
je 0x4360ec
mov ecx, dword [esi + eax + 0xa3c]
or ecx, 0x20
jmp 0x436322
dec edx
cmp edi, edx
jne 0x43611c
cmp dword [eax + 0x9e4], ebx
jne 0x43611c
mov edx, dword [esi + eax + 0xa3c]
or edx, ebx
mov dword [esi + eax + 0xa3c], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + eax + 0xa3c]
or ch, 0x80
jmp 0x436322
mov ecx, dword [esi + eax + 0xa40]
cmp ecx, 0xffffffff
je 0x436133
mov dword [esi + eax + 0xa3c], ecx
mov eax, dword [esp + 0x10]
mov edi, dword [esi + eax + 0xa34]
mov edx, edi
shl edx, 6
mov ecx, dword [edx + eax + 0x13a8]
test ch, 0x10
jne 0x43632d
mov ecx, dword [esi + eax + 0xa38]
add ecx, edi
mov edx, ecx
shl edx, 6
add edx, eax
cmp dword [edx + 0x1360], 0xffffffff
je 0x4362cd
cmp dword [edx + 0x135c], 0xffffffff
je 0x4362cd
mov edx, dword [esi + eax + 0xa3c]
lea eax, [esi + eax + 0xa3c]
and edx, 0xfffffffe
mov dword [eax], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + eax + 0xa3c]
or ecx, 2
mov dword [esi + eax + 0xa3c], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + eax + 0xa34]
mov edx, dword [esi + eax + 0xa38]
add edx, ecx
shl edx, 6
add edx, eax
mov edi, dword [edx + 0x1360]
sub edi, dword [edx + 0x135c]
je 0x436286
shl ecx, 6
mov ecx, dword [ecx + eax + 0x13a8]
test ch, 0xc0
je 0x436286
mov eax, dword [esp + 0x1d40]
push 0x80000000
push 0x80000000
push ecx
lea ecx, [esp + 0x34]
push eax
push ecx
call fcn.00439a00
sub edi, 2
add esp, 0x14
neg edi
sbb edi, edi
and edi, 0x96
add edi, 0x14
test edi, edi
jle 0x436275
mov eax, dword [esp + 0x10]
push ebx
mov edx, dword [esi + eax + 0xa34]
shl edx, 6
add eax, edx
mov ecx, dword [eax + 0x13a0]
mov edx, dword [eax + 0x1398]
mov eax, dword [esp + 0x2c]
add ecx, edx
sub ecx, edi
lea edx, [esp + 0x140]
push ecx
push edx
push eax
call fcn.00439b50
add esp, 0x10
test eax, eax
jne 0x436255
dec edi
test edi, edi
jg 0x436213
jmp 0x436275
mov eax, dword [esp + 0x10]
mov edx, dword [esi + eax + 0xa3c]
and edx, 0xfffffffd
mov dword [esi + eax + 0xa3c], edx
mov eax, dword [esp + 0x10]
or dword [esi + eax + 0xa3c], ebx
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0043a0c0
mov eax, dword [esp + 0x14]
add esp, 4
mov edx, dword [esi + eax + 0xa34]
mov ecx, dword [esi + eax + 0xa38]
add ecx, edx
cmp edx, ecx
jge 0x43632d
mov ecx, edx
shl ecx, 6
mov edi, dword [ecx + eax + 0x13a0]
inc edx
mov dword [ecx + eax + 0x139c], edi
mov eax, dword [esp + 0x10]
add ecx, 0x40
mov edi, dword [esi + eax + 0xa38]
add edi, dword [esi + eax + 0xa34]
cmp edx, edi
jl 0x4362a3
jmp 0x43632d
cmp edi, ecx
jge 0x436303
mov ecx, edi
shl ecx, 6
mov edx, dword [ecx + eax + 0x13a0]
cmp edx, 0xffffffff
je 0x4362ed
mov dword [ecx + eax + 0x139c], edx
mov eax, dword [esp + 0x10]
mov edx, dword [esi + eax + 0xa38]
inc edi
add edx, dword [esi + eax + 0xa34]
add ecx, 0x40
cmp edi, edx
jl 0x4362d6
mov edx, dword [esi + eax + 0xa3c]
and edx, 0xfffffffe
mov dword [esi + eax + 0xa3c], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + eax + 0xa3c]
or ecx, 2
mov dword [esi + eax + 0xa3c], ecx
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
mov edx, dword [eax + 0xa10]
inc edi
add esi, ebp
cmp edi, edx
mov dword [esp + 0x24], edi
jl 0x43603e
jmp 0x43634d
mov ebx, 1
mov dword [eax + 0x9d0], ebx
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x9d4]
cmp edx, 0xffffffff
jne 0x436375
push eax
mov esi, 0x1a
call fcn.0044fee0
add esp, 4
jmp 0x433d22
mov ecx, dword [esp + 0x1d50]
test ecx, ecx
je 0x436cda
cmp dword [eax + 0x9f0], 0xffffffff
jne 0x436cda
mov ecx, dword [eax + 0x9dc]
xor esi, esi
cmp ecx, esi
je 0x436cd0
mov ecx, dword [eax + 0x2bc]
cmp ecx, 1
je 0x436cd0
cmp ecx, 0x41
je 0x436cd0
mov ecx, dword [eax + 0x9ec]
xor ebp, ebp
test ecx, ecx
mov bl, 0x5a
je 0x4366a5
test dl, 7
je 0x43652c
mov ecx, 0x40
or eax, 0xffffffff
lea edi, [esp + 0x3c]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x14]
push eax
call fcn.0044ffc0
lea ecx, [esp + 0x1f]
push 0xfe
push ecx
mov byte [esp + 0x20], bl
mov byte [esp + 0x22], 5
call fcn.0044ffd0
mov ecx, dword [esp + 0x1c]
push 8
lea edx, [esp + 0x4c]
push 0xfe
push edx
push 1
lea eax, [esp + 0x30]
push 0xa
add ecx, 4
push eax
push ecx
call fcn.0042c710
add esp, 0x28
test eax, eax
jne 0x436528
mov ax, word [esp + 0x3c]
cmp ax, 0xffff
jne 0x436453
mov eax, dword [esp + 0x10]
mov esi, 0x1a
push eax
call fcn.0044fee0
add esp, 4
jmp 0x433d22
test ax, ax
jne 0x43646f
mov eax, dword [esp + 0x10]
mov esi, 0x1a
push eax
call fcn.0044fee0
add esp, 4
jmp 0x433d22
lea edx, [esp + 0x3c]
push pe_nt_image_headers32
lea eax, [esp + 0x140]
push edx
push eax
mov word [esp + 0x48], 0
call fcn.0047e960
mov ecx, dword [esp + 0x14e]
push ecx
call fcn.00450020
mov dl, byte [esp + eax + 0x156]
mov cl, byte [esp + eax + 0x158]
lea esi, [esp + eax + 0x154]
and dl, 0xf1
and cl, 0xf8
or dl, 1
mov al, byte [esi + 3]
or cl, 8
and al, 0xf4
mov byte [esi + 2], dl
or al, 4
mov byte [esi + 4], cl
mov byte [esi + 3], al
mov byte [esi + 8], 0
mov edx, dword [esp + 0x152]
push edx
call fcn.00450020
xor ecx, ecx
lea edx, [esp + 0x28]
mov cl, byte [esi + 1]
push edx
lea ebp, [eax + ecx + 0xa]
call fcn.0044ffc0
lea eax, [esp + 0x33]
push ebp
push eax
mov byte [esp + 0x34], 0x55
mov byte [esp + 0x35], 0x10
call fcn.0044ffd0
mov eax, dword [esp + 0x30]
push 0x19
lea ecx, [esp + 0x160]
push ebp
push ecx
push 2
lea edx, [esp + 0x44]
push 0xa
add eax, 4
push edx
push eax
call fcn.0042c710
add esp, 0x3c
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x9ec]
test ecx, ecx
je 0x4366a5
test dword [eax + 0x9d4], 0x2180
je 0x4366a5
mov ecx, 0x40
or eax, 0xffffffff
lea edi, [esp + 0x3c]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x14]
push ecx
call fcn.0044ffc0
lea edx, [esp + 0x1f]
push 0xfe
push edx
mov byte [esp + 0x20], bl
mov byte [esp + 0x22], 5
call fcn.0044ffd0
mov edx, dword [esp + 0x1c]
push 8
lea eax, [esp + 0x4c]
push 0xfe
push eax
push 1
lea ecx, [esp + 0x30]
push 0xa
add edx, 4
push ecx
push edx
call fcn.0042c710
add esp, 0x28
test eax, eax
jne 0x4366a1
mov ax, word [esp + 0x3c]
cmp ax, 0xffff
jne 0x4365c9
mov eax, dword [esp + 0x10]
mov esi, 0x1a
push eax
call fcn.0044fee0
add esp, 4
jmp 0x433d22
test ax, ax
jne 0x4365e5
mov eax, dword [esp + 0x10]
mov esi, 0x1a
push eax
call fcn.0044fee0
add esp, 4
jmp 0x433d22
lea eax, [esp + 0x3c]
push pe_nt_image_headers32
lea ecx, [esp + 0x140]
push eax
push ecx
mov word [esp + 0x48], 0
call fcn.0047e960
mov edx, dword [esp + 0x14e]
push edx
call fcn.00450020
lea esi, [esp + eax + 0x154]
add esp, 0x10
mov al, byte [esi + 2]
mov cl, al
and cl, 0xf
cmp cl, 1
jne 0x4366a1
mov dl, byte [esi + 3]
and al, 0xf2
or al, 2
and dl, 0xf4
mov byte [esi + 2], al
mov al, byte [esi + 4]
and al, 0xf8
or dl, 4
or al, 8
mov byte [esi + 3], dl
mov byte [esi + 4], al
mov byte [esi + 8], 0
mov ecx, dword [esp + 0x142]
push ecx
call fcn.00450020
xor edx, edx
mov dl, byte [esi + 1]
lea ebp, [eax + edx + 0xa]
lea eax, [esp + 0x18]
push eax
call fcn.0044ffc0
lea ecx, [esp + 0x23]
push ebp
push ecx
mov byte [esp + 0x24], 0x55
mov byte [esp + 0x25], 0x10
call fcn.0044ffd0
mov ecx, dword [esp + 0x20]
push 0x19
lea edx, [esp + 0x150]
push ebp
push edx
push 2
lea eax, [esp + 0x34]
push 0xa
add ecx, 4
push eax
push ecx
call fcn.0042c710
add esp, 0x2c
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x9d4]
cmp eax, 2
je 0x4367e9
cmp eax, 4
je 0x4367e9
test ah, 0x12
jne 0x4367e9
lea edx, [esp + 0x14]
push edx
call fcn.0044ffc0
mov eax, dword [esp + 0x14]
mov byte [esp + 0x18], 0x52
mov byte [esp + 0x19], 1
lea edx, [esp + 0x1a]
mov ecx, dword [eax + 0xa18]
push ecx
push edx
call fcn.0044fff0
lea eax, [esp + 0x27]
push 0x24
push eax
call fcn.0044ffd0
mov eax, dword [esp + 0x24]
push 0x2d
lea ecx, [esp + 0x154]
push 0x24
push ecx
push 1
lea edx, [esp + 0x38]
push 0xa
add eax, 4
push edx
push eax
call fcn.0042c710
add esp, 0x30
test eax, eax
je 0x4368a5
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x9f0], 0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1d44]
test ecx, ecx
je 0x43674d
mov edx, dword [eax + 0x9d4]
mov dword [ecx], edx
mov ecx, dword [esp + 0x1d48]
test ecx, ecx
je 0x436760
mov edx, dword [eax + 0x9ec]
mov dword [ecx], edx
mov ecx, dword [esp + 0x1d4c]
test ecx, ecx
je 0x436773
mov edx, dword [eax + 0x9dc]
mov dword [ecx], edx
mov ecx, dword [esp + 0x1d50]
test ecx, ecx
je 0x436786
mov edx, dword [eax + 0x9f0]
mov dword [ecx], edx
mov esi, dword [esp + 0x1d54]
test esi, esi
je case.0x4367bf.8
mov ecx, dword [eax + 0x9d4]
cmp ecx, 0x80
jg 0x436e01
je 0x436de7
dec ecx
cmp ecx, 0x3f
ja case.0x4367bf.8
xor edx, edx
mov dl, byte [ecx + 0x436f7c]
jmp dword [edx*4 + 0x436f5c]
mov ecx, dword [str.CD_ROM]
mov dword [esi], ecx
mov dx, word [0x4aab70]
mov word [esi + 4], dx
mov cl, byte [0x4aab72]
mov byte [esi + 6], cl
xor esi, esi
jmp 0x433d26
lea edx, [esp + 0x14]
push edx
call fcn.0044ffc0
lea eax, [esp + 0x1a]
push 0xff
push eax
mov byte [esp + 0x20], 0x52
mov byte [esp + 0x21], 1
call fcn.0044fff0
lea ecx, [esp + 0x27]
push 0x24
push ecx
call fcn.0044ffd0
mov ecx, dword [esp + 0x24]
push 0x2d
lea edx, [esp + 0x154]
push 0x24
push edx
push 1
lea eax, [esp + 0x38]
push 0xa
add ecx, 4
push eax
push ecx
call fcn.0042c710
add esp, 0x30
test eax, eax
je 0x4368a5
lea edx, [esp + 0x14]
push edx
call fcn.0044ffc0
mov eax, dword [esp + 0x14]
mov byte [esp + 0x18], 0x52
mov byte [esp + 0x19], 1
lea edx, [esp + 0x1a]
mov ecx, dword [eax + 0xa18]
push ecx
push edx
call fcn.0044fff0
lea eax, [esp + 0x27]
push 0x24
push eax
call fcn.0044ffd0
mov eax, dword [esp + 0x24]
push 0x2d
lea ecx, [esp + 0x154]
push 0x24
push ecx
push 1
lea edx, [esp + 0x38]
push 0xa
add eax, 4
push edx
push eax
call fcn.0042c710
mov esi, eax
add esp, 0x30
test esi, esi
jne 0x436d2f
mov ecx, dword [esp + 0x14c]
push ecx
call fcn.00450040
mov edx, dword [esp + 0x14]
add esp, 4
mov dword [edx + 0x9f0], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x9f0]
test ecx, ecx
jle 0x4369c8
cmp ecx, 0x17124
jge 0x4369c8
test byte [eax + 0x9d4], 2
je 0x4369c8
lea eax, [esp + 0x14]
push eax
call fcn.0044ffc0
lea ecx, [esp + 0x1f]
push 0x1000
push ecx
mov byte [esp + 0x20], 0x43
mov byte [esp + 0x22], 4
mov byte [esp + 0x26], 0
call fcn.0044ffd0
mov ecx, dword [esp + 0x1c]
push 0x1e
lea edx, [esp + 0x14c]
push 0x1000
push edx
push 1
lea eax, [esp + 0x30]
push 0xa
add ecx, 4
push eax
push ecx
call fcn.0042c710
add esp, 0x28
test eax, eax
jne 0x4369c4
mov eax, dword [esp + 0x148]
and eax, 0xff
lea eax, [eax + eax*2]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x149]
and eax, 0xff
lea ecx, [eax + edx*4]
mov edx, dword [esp + 0x14a]
and edx, 0xff
lea eax, [ecx + ecx*2]
lea eax, [eax + eax*4]
lea esi, [edx + eax*4]
add eax, esi
cmp eax, 0x17124
jge 0x4369c4
lea ecx, [ecx + ecx*2 + 0x383a]
lea eax, [ecx + ecx*4]
lea ecx, [edx + eax*4]
mov edx, dword [esp + 0x10]
add eax, ecx
mov dword [edx + 0x9f0], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xa10]
cmp ecx, 1
mov ecx, dword [eax + 0x9f0]
jne 0x4369b8
add ecx, 0xffffe5a2
jmp 0x4369be
add ecx, 0xfffff736
mov dword [eax + 0x9f0], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x9f0]
test ecx, ecx
jne 0x436c80
mov ecx, dword [eax + 0x9d4]
test ch, 0xc
je 0x436bbb
mov ecx, dword [eax + 0x9ec]
test ecx, ecx
je 0x436abd
lea eax, [esp + 0x14]
push eax
call fcn.0044ffc0
lea ecx, [esp + 0x1f]
push 0x10c
push ecx
mov byte [esp + 0x20], 0x23
call fcn.0044ffd0
mov ecx, dword [esp + 0x1c]
push 8
lea edx, [esp + 0x14c]
push 0x10c
push edx
push 1
lea eax, [esp + 0x30]
push 0xa
add ecx, 4
push eax
push ecx
call fcn.0042c710
add esp, 0x28
test eax, eax
jne 0x436bb7
mov ecx, dword [esp + 0x13f]
mov eax, dword [esp + 0x10]
and ecx, 0xff
lea edi, [esp + 0x140]
mov edx, dword [eax + 0x9d4]
shr ecx, 3
test dh, 8
je 0x436a7d
xor esi, esi
test ecx, ecx
jle 0x436a9b
test byte [edi + 4], 0xff
je 0x436a9b
inc esi
add edi, 8
cmp esi, ecx
jl 0x436a6d
jmp 0x436a9b
xor esi, esi
test ecx, ecx
jle 0x436a9b
mov dl, byte [edi + 4]
test dl, 3
jne 0x436a93
and dl, 0xfc
cmp dl, 0x98
je 0x436a9b
inc esi
add edi, 8
cmp esi, ecx
jl 0x436a83
cmp esi, ecx
je 0x436bbb
mov edx, dword [edi]
push edx
call fcn.00450040
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [ecx + 0x9f0], eax
jmp 0x436bb7
mov edx, dword [esp + 0x158]
push edx
call fcn.00450040
mov esi, eax
mov eax, dword [esp + 0x158]
push eax
call fcn.00450040
add esp, 8
cmp eax, esi
je 0x436b95
lea ecx, [esp + 0x14]
push ecx
call fcn.0044ffc0
lea edx, [esp + 0x1f]
push 0x10c
push edx
mov byte [esp + 0x20], 0x23
call fcn.0044ffd0
mov edx, dword [esp + 0x1c]
push 8
lea eax, [esp + 0x14c]
push 0x10c
push eax
push 1
lea ecx, [esp + 0x30]
push 0xa
add edx, 4
push ecx
push edx
call fcn.0042c710
add esp, 0x28
test eax, eax
jne 0x436bb7
mov ecx, dword [esp + 0x13f]
mov eax, dword [esp + 0x10]
and ecx, 0xff
lea edi, [esp + 0x140]
mov edx, dword [eax + 0x9d4]
shr ecx, 3
test dh, 8
je 0x436b6e
xor esi, esi
test ecx, ecx
jle 0x436b8c
test byte [edi + 4], 0xff
je 0x436b8c
inc esi
add edi, 8
cmp esi, ecx
jl 0x436b5e
jmp 0x436b8c
xor esi, esi
test ecx, ecx
jle 0x436b8c
mov dl, byte [edi + 4]
test dl, 3
jne 0x436b84
and dl, 0xfc
cmp dl, 0x98
je 0x436b8c
inc esi
add edi, 8
cmp esi, ecx
jl 0x436b74
cmp esi, ecx
je 0x436bbb
mov eax, dword [edi]
push eax
jmp 0x436b9d
mov edx, dword [esp + 0x154]
push edx
call fcn.00450040
mov ecx, eax
mov eax, dword [esp + 0x14]
add esp, 4
sub ecx, dword [eax + 0x139c]
mov dword [eax + 0x9f0], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x9f0]
test ecx, ecx
jne 0x436c80
mov ecx, dword [eax + 0x9d4]
test ch, 1
je 0x436c80
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x13c]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
push edx
call fcn.0044ffc0
lea eax, [esp + 0x1f]
push 0x10c
push eax
mov byte [esp + 0x20], 0x23
call fcn.0044ffd0
mov eax, dword [esp + 0x1c]
push 8
lea ecx, [esp + 0x14c]
push 0x10c
push ecx
push 1
lea edx, [esp + 0x30]
push 0xa
add eax, 4
push edx
push eax
call fcn.0042c710
add esp, 0x28
test eax, eax
jne 0x436c7c
mov eax, dword [esp + 0x13f]
lea esi, [esp + 0x140]
and eax, 0xff
mov ecx, 0
jle 0x436c63
mov dl, byte [esi + 4]
test dl, 3
jne 0x436c59
cmp dl, 0x4c
je 0x436c63
add ecx, 8
add esi, 8
cmp ecx, eax
jl 0x436c4c
cmp ecx, eax
je 0x436c7c
mov ecx, dword [esi]
push ecx
call fcn.00450040
mov edx, dword [esp + 0x14]
add esp, 4
mov dword [edx + 0x9f0], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x9ec]
test ecx, ecx
je 0x436cda
test ebp, ebp
je 0x436cda
lea eax, [esp + 0x14]
push eax
call fcn.0044ffc0
lea ecx, [esp + 0x1f]
push ebp
push ecx
mov byte [esp + 0x20], 0x55
mov byte [esp + 0x21], 0x10
call fcn.0044ffd0
mov ecx, dword [esp + 0x1c]
push 0x19
lea edx, [esp + 0x4c]
push ebp
push edx
push 2
lea eax, [esp + 0x30]
push 0xa
add ecx, 4
push eax
push ecx
call fcn.0042c710
add esp, 0x28
jmp 0x436cd6
mov dword [eax + 0x9f0], esi
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x9dc], 1
jne 0x43673a
mov ecx, dword [eax + 0x9f4]
lea edx, [eax + 0x9f4]
cmp ecx, 0xffffffff
jne 0x43673a
mov ecx, dword [eax + 0x2bc]
cmp ecx, 1
je 0x43673a
cmp ecx, 0x41
je 0x43673a
push edx
mov edx, dword [eax + 0xa18]
push edx
push eax
call fcn.00450710
mov esi, eax
add esp, 0xc
test esi, esi
je 0x436736
mov eax, dword [esp + 0x10]
push eax
call fcn.0044fee0
add esp, 4
jmp 0x433d22
mov edx, dword [str.CD_R]
mov dword [esi], edx
mov cl, byte [0x4aae80]
mov byte [esi + 4], cl
xor esi, esi
jmp 0x433d26
mov edx, dword [str.CD_RW]
mov dword [esi], edx
mov cx, word [0x4aae78]
mov word [esi + 4], cx
xor esi, esi
jmp 0x433d26
mov edx, dword [str.DDCD_ROM]
mov dword [esi], edx
mov ecx, dword [0x4aae6c]
mov dword [esi + 4], ecx
mov dl, byte [0x4aae70]
mov byte [esi + 8], dl
xor esi, esi
jmp 0x433d26
mov ecx, dword [str.DDCD_R]
mov dword [esi], ecx
mov dx, word [0x4aae64]
mov word [esi + 4], dx
mov cl, byte [0x4aae66]
mov byte [esi + 6], cl
xor esi, esi
jmp 0x433d26
mov edx, dword [str.DDCD_RW]
mov dword [esi], edx
mov ecx, dword [0x4aae5c]
mov dword [esi + 4], ecx
xor esi, esi
jmp 0x433d26
mov edx, dword [str.DVD_ROM]
mov dword [esi], edx
mov ecx, dword [0x4aae54]
mov dword [esi + 4], ecx
xor esi, esi
jmp 0x433d26
mov edx, dword [str.DVD_R]
mov dword [esi], edx
mov cx, word [0x4aae4c]
mov word [esi + 4], cx
xor esi, esi
jmp 0x433d26
cmp ecx, 0x800
jg 0x436ea3
je 0x436e8b
cmp ecx, 0x100
je 0x436e68
cmp ecx, 0x200
je 0x436e4e
cmp ecx, 0x400
jne case.0x4367bf.8
mov edx, dword [str.DVDRW]
mov dword [esi], edx
mov cx, word [0x4aae44]
mov word [esi + 4], cx
mov dl, byte [0x4aae46]
mov byte [esi + 6], dl
xor esi, esi
jmp 0x433d26
mov ecx, dword [str.DVDR]
mov dword [esi], ecx
mov dx, word [0x4aae3c]
mov word [esi + 4], dx
xor esi, esi
jmp 0x433d26
mov ecx, dword [str.DVD_RW]
mov dword [esi], ecx
mov dx, word [0x4aae34]
mov word [esi + 4], dx
mov cl, byte [0x4aae36]
mov byte [esi + 6], cl
xor esi, esi
jmp 0x433d26
mov edx, dword [str.DVD_RAM]
mov dword [esi], edx
mov ecx, dword [0x4aae2c]
mov dword [esi + 4], ecx
xor esi, esi
jmp 0x433d26
cmp ecx, 0x1000
je 0x436ed4
cmp ecx, 0x2000
jne case.0x4367bf.8
mov edx, dword [str.DVD_R_DL]
mov dword [esi], edx
mov ecx, dword [0x4aae20]
mov dword [esi + 4], ecx
mov dl, byte [0x4aae24]
mov byte [esi + 8], dl
xor esi, esi
jmp 0x433d26
mov ecx, dword [str.DVDR_DL]
mov dword [esi], ecx
mov edx, dword [0x4aae14]
mov dword [esi + 4], edx
mov cl, byte [0x4aae18]
mov byte [esi + 8], cl
xor esi, esi
jmp 0x433d26
mov esi, 0x1d
jmp 0x433d26