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

Disassembly:
push 0xffffffffffffffff
push 0x4d22a8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xadc
push ebx
push ebp
push esi
push edi
lea eax, [esp + 0x4ec]
push eax
mov esi, ecx
mov ecx, dword [esi + 0x8c]
mov edx, dword [esi + 0x88]
push 0x400
xor ebp, ebp
push ebp
push ecx
push edx
mov byte [esp + 0x2b], 0
call fcn.0041abf0
add esp, 0x14
cmp eax, 1
jne 0x42b0a5
mov byte [esp + 0x17], al
mov eax, dword [esi + 0x170]
push ebp
push ebp
push 0xf0
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x42b517
lea ecx, [esp + 0x10]
push 0x6b00
push ecx
call fcn.004414a0
add esp, 8
mov edx, dword [esi + 0x2d8]
mov ecx, dword [esi + 0x2d4]
mov eax, dword [eax]
push edx
push ecx
push eax
lea edi, [esi + 0x1a4]
push ebp
mov ecx, edi
mov dword [esp + 0xb04], ebp
call fcn.004743d0
mov eax, dword [esp + 0x10]
or ebx, 0xffffffff
add eax, 0xfffffff0
mov dword [esp + 0xaf4], ebx
lea edx, [eax + 0xc]
mov ecx, ebx
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42b122
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 1
push 0
push 0
mov ecx, edi
call fcn.00473200
mov ecx, dword [esi + 0x2d8]
push ebx
push ecx
push ebx
push 0x4d9da4
push 1
push 0
mov ecx, edi
call fcn.00473130
push 1
push 0
push 0
mov ecx, edi
call fcn.00473290
lea edx, [esp + 0x10]
push 0x6af6
push edx
mov ebp, 1
call fcn.00441a20
add esp, 8
mov ecx, dword [esi + 0x2e0]
mov edx, dword [esi + 0x2dc]
mov eax, dword [eax]
push ecx
push edx
push eax
push ebp
mov ecx, edi
mov dword [esp + 0xb04], ebp
call fcn.004743d0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0xaf4], ebx
lea ecx, [eax + 0xc]
mov edx, ebx
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42b1b2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esi + 0x2d0]
push ebx
push ebx
push ecx
push str.DVD_RAM
push 1
push 1
mov ecx, edi
call fcn.00473130
cmp byte [esp + 0x17], 0
je 0x42b2b4
lea edx, [esp + 0x10]
push 0x6af7
push edx
call fcn.00441a20
add esp, 8
mov ecx, dword [esi + 0x2e0]
mov edx, dword [esi + 0x2dc]
mov eax, dword [eax]
push ecx
push edx
push eax
push 2
mov ecx, edi
mov dword [esp + 0xb04], 2
call fcn.004743d0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0xaf4], ebx
lea ecx, [eax + 0xc]
mov edx, ebx
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42b233
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x715]
push ecx
lea edx, [esp + 0x28]
push str._.48s
push edx
call fcn.004b09b2
mov eax, dword [esi + 0x2d0]
add esp, 0xc
push ebx
push ebx
push eax
lea ecx, [esp + 0x30]
push ecx
push 1
push 2
mov ecx, edi
call fcn.00473130
mov edx, dword [esi + 0x2e0]
push edx
push ebx
push 0x4dda30
mov ebp, 3
push ebp
mov ecx, edi
call fcn.004743d0
push 0x10
lea eax, [esp + 0x749]
push eax
lea ecx, [esp + 0x2c]
push ecx
call fcn.004b3090
mov edx, dword [esi + 0x2d0]
add esp, 0xc
push ebx
push ebx
push edx
lea eax, [esp + 0x30]
push eax
push 1
push ebp
mov ecx, edi
mov byte [esp + 0x4c], 0
call fcn.00473130
lea ecx, [esp + 0x10]
push 0x6b01
push ecx
add ebp, 1
call fcn.00441a20
add esp, 8
mov edx, dword [esi + 0x2e0]
mov ecx, dword [esi + 0x2dc]
mov eax, dword [eax]
push edx
push ecx
push eax
push ebp
mov ecx, edi
mov dword [esp + 0xb04], 3
call fcn.004743d0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0xaf4], ebx
lea edx, [eax + 0xc]
mov ecx, ebx
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42b313
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x8c]
lea ecx, [esp + 0x8ec]
push ecx
mov ecx, dword [esi + 0x88]
lea edx, [esp + 0x28]
push edx
push eax
push ecx
call fcn.0043db60
mov edx, dword [esi + 0x2d0]
add esp, 0x10
push ebx
push ebx
push edx
lea eax, [esp + 0x30]
push eax
push 1
push ebp
mov ecx, edi
call fcn.00473130
lea ecx, [esp + 0x10]
push 0x6b02
push ecx
add ebp, 1
call fcn.00441a20
add esp, 8
mov edx, dword [esi + 0x2e0]
mov ecx, dword [esi + 0x2dc]
mov eax, dword [eax]
push edx
push ecx
push eax
push ebp
mov ecx, edi
mov dword [esp + 0xb04], 4
call fcn.004743d0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0xaf4], ebx
lea edx, [eax + 0xc]
mov ecx, ebx
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42b3ad
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi + 0x8c]
mov eax, dword [esi + 0x88]
lea ecx, [esp + 0xec]
push ecx
push 0x20
push edx
push eax
call fcn.0041af60
add esp, 0x10
cmp eax, 1
jne 0x42b401
movzx ecx, byte [esp + 0xf1]
movzx edx, byte [esp + 0xf2]
movzx eax, byte [esp + 0xf3]
shl ecx, 8
add ecx, edx
shl ecx, 8
lea ebx, [ecx + eax + 1]
cmp ebx, 0xffffffff
mov dword [esp + 0x10], ebx
jne 0x42b421
or ebx, ebx
mov ecx, dword [esi + 0x2d0]
push ebx
push ebx
push ecx
push 0x4db830
push 1
push ebp
mov ecx, edi
call fcn.00473130
add ebp, 1
jmp 0x42b51a
fild dword [esp + 0x10]
sub esp, 8
lea edx, [esp + 0x2c]
fst qword [esp + 0x24]
fmul qword [0x4dda28]
fmul qword [0x4db2a0]
fstp qword [esp]
push 0x4dda20
push edx
call fcn.004b09b2
mov eax, dword [esi + 0x2d0]
add esp, 0x10
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x30]
push ecx
push 1
push ebp
mov ecx, edi
call fcn.00473130
mov edx, dword [esi + 0x2e0]
mov eax, dword [esi + 0x2dc]
push edx
push eax
push 0x4d9da4
add ebp, 1
push ebp
mov ecx, edi
call fcn.004743d0
sar ebx, 9
push ebx
lea ecx, [esp + 0x28]
push str._d_MB
push ecx
call fcn.004b09b2
mov edx, dword [esi + 0x2d0]
add esp, 0xc
push 0xffffffffffffffff
push 0xffffffffffffffff
push edx
lea eax, [esp + 0x30]
push eax
push 1
push ebp
mov ecx, edi
call fcn.00473130
mov ecx, dword [esi + 0x2e0]
mov edx, dword [esi + 0x2dc]
push ecx
push edx
push 0x4d9da4
add ebp, 1
push ebp
mov ecx, edi
call fcn.004743d0
fld qword [esp + 0x1c]
fmul qword [0x4dda18]
sub esp, 8
lea eax, [esp + 0x2c]
fstp qword [esp]
push 0x4dda08
push eax
call fcn.004b09b2
mov ecx, dword [esi + 0x2d0]
add esp, 0x10
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
lea edx, [esp + 0x30]
push edx
push 1
push ebp
mov ecx, edi
call fcn.00473130
or ebx, 0xffffffff
add ebp, 1
jmp 0x42b51a
or ebx, 0xffffffff
mov eax, dword [esi + 0x11c]
push 0
push 0
push 0xf0
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x42b6be
lea ecx, [esp + 0x10]
push 0x6b03
push ecx
call fcn.004414a0
add esp, 8
mov edx, dword [esi + 0x2d8]
mov ecx, dword [esi + 0x2d4]
mov eax, dword [eax]
push edx
push ecx
push eax
lea edi, [esi + 0x1a4]
push ebp
mov ecx, edi
mov dword [esp + 0xb04], 5
call fcn.004743d0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0xaf4], ebx
lea edx, [eax + 0xc]
mov ecx, ebx
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42b59a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 1
push 0
push ebp
mov ecx, edi
call fcn.00473200
mov ecx, dword [esi + 0x2d8]
push ebx
push ecx
push ebx
push 0x4d9da4
push 1
push ebp
mov ecx, edi
call fcn.00473130
push 1
push 0
push ebp
mov ecx, edi
call fcn.00473290
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x88]
lea edx, [esp + 0xec]
push edx
push 8
push 1
push eax
push ecx
call fcn.0041abf0
add esp, 0x14
cmp eax, 1
jne 0x42b6bb
lea edx, [esp + 0x10]
push 0x6b0e
push edx
add ebp, 1
call fcn.00441a20
add esp, 8
mov ecx, dword [esi + 0x2e0]
mov edx, dword [esi + 0x2dc]
mov eax, dword [eax]
push ecx
push edx
push eax
push ebp
mov ecx, edi
mov dword [esp + 0xb04], 6
call fcn.004743d0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0xaf4], ebx
lea ecx, [eax + 0xc]
mov edx, ebx
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42b654
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
movzx eax, byte [esp + 0xf0]
sub eax, 1
je 0x42b686
sub eax, 1
je 0x42b670
mov dword [esp + 0x24], 0x612f6e
jmp 0x42b6a3
mov ecx, dword [str.CPRM]
mov dl, byte [0x4dd9d0]
mov dword [esp + 0x24], ecx
mov byte [esp + 0x28], dl
jmp 0x42b6a3
mov eax, dword [str.CSS_CPPM]
mov ecx, dword [0x4dd9c4]
mov dl, byte [0x4dd9c8]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov byte [esp + 0x2c], dl
mov eax, dword [esi + 0x2d0]
push ebx
push ebx
push eax
lea ecx, [esp + 0x30]
push ecx
push 1
push ebp
mov ecx, edi
call fcn.00473130
add ebp, 1
mov edx, dword [esi + 0xc8]
push 0
push 0
push 0xf0
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x42b906
lea eax, [esp + 0x18]
push 0x6b07
push eax
call fcn.004414a0
add esp, 8
mov ecx, dword [esi + 0x2d8]
mov edx, dword [esi + 0x2d4]
mov eax, dword [eax]
push ecx
push edx
lea edi, [esi + 0x1a4]
push eax
push ebp
mov ecx, edi
mov dword [esp + 0xb04], 7
mov dword [esp + 0x2c], edi
call fcn.004743d0
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov dword [esp + 0xaf4], ebx
lea ecx, [eax + 0xc]
mov edx, ebx
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42b742
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 1
push 0
push ebp
mov ecx, edi
call fcn.00473200
mov ecx, dword [esi + 0x2d8]
push ebx
push ecx
push ebx
push 0x4d9da4
push 1
push ebp
mov ecx, edi
call fcn.00473130
push 1
push 0
push ebp
mov ecx, edi
call fcn.00473290
cmp byte [esp + 0x17], 0
je 0x42b906
mov edx, dword [esi + 0x2e0]
push edx
push ebx
add ebp, 1
push str.Physical_Format_Information__00h_
push ebp
mov ecx, edi
call fcn.004743d0
mov dword [esp + 0x10], 0
lea ecx, [ecx]
mov eax, dword [esp + 0x10]
push eax
lea ecx, [esp + 0x28]
push str._04X__
push ecx
call fcn.004b09b2
add esp, 0xc
xor ebx, ebx
lea esp, [esp]
mov eax, dword [esp + 0x10]
lea eax, [esp + eax + 0x4f0]
movzx edx, byte [eax + ebx]
push edx
lea eax, [esp + 0x8c]
push str._02X
push eax
call fcn.004b09b2
lea eax, [esp + 0x94]
add esp, 0xc
mov ecx, eax
mov edi, edi
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x42b7f0
lea edi, [esp + 0x24]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x42b804
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
add ebx, 1
cmp ebx, 0x10
rep movsb byte es:[edi], byte [esi]
jl 0x42b7c0
lea eax, [esp + 0x24]
add eax, 0xffffffff
jmp 0x42b830
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x42b830
mov cx, word [0x4dd944]
mov dl, byte [0x4dd946]
mov word [eax], cx
mov byte [eax + 2], dl
xor ebx, ebx
nop
mov esi, dword [esp + 0x10]
lea esi, [esp + esi + 0x4f0]
movzx eax, byte [esi + ebx]
push eax
call fcn.004b305c
add esp, 4
test eax, eax
je 0x42b872
movzx eax, byte [esi + ebx]
jmp 0x42b877
mov eax, 0x2e
push eax
lea ecx, [esp + 0x8c]
push str._.1c
push ecx
call fcn.004b09b2
lea eax, [esp + 0x94]
add esp, 0xc
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x42b896
lea edi, [esp + 0x24]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
lea ebx, [ebx]
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x42b8b0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
add ebx, 1
cmp ebx, 0x10
rep movsb byte es:[edi], byte [esi]
jl 0x42b850
mov esi, dword [esp + 0x1c]
lea edx, [esp + 0x24]
push edx
add ebp, 1
push ebp
mov ecx, esi
call fcn.00474680
push 1
push 0
push ebp
mov ecx, esi
call fcn.00473290
mov eax, dword [esp + 0x10]
add eax, 0x10
cmp eax, 0x270
mov dword [esp + 0x10], eax
jl 0x42b7a0
mov ecx, dword [esp + 0xaec]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xae8
ret
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x4d2382
push eax
mov dword fs:[0], esp
sub esp, 0x454
push ebx
push ebp
push esi
push edi
xor ebx, ebx
push ebx
push ebx
mov esi, ecx
mov eax, dword [esi + 0x170]
push 0xf0
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 1
jne 0x42c6c8
lea ecx, [esp + 0x10]
push 0x6b00
push ecx
call fcn.004414a0
add esp, 8
mov edx, dword [esi + 0x2d8]
mov ecx, dword [esi + 0x2d4]
mov eax, dword [eax]
push edx
push ecx
push eax
lea edi, [esi + 0x1a4]
push ebx
mov ecx, edi
mov dword [esp + 0x47c], ebx
call fcn.004743d0
mov eax, dword [esp + 0x10]
or ebp, 0xffffffff
add eax, 0xfffffff0
mov dword [esp + 0x46c], ebp
lea edx, [eax + 0xc]
mov ecx, ebp
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42c481
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 1
push 0
push 0
mov ecx, edi
call fcn.00473200
mov ecx, dword [esi + 0x2d8]
push ebp
push ecx
push ebp
push 0x4d9da4
push 1
push 0
mov ecx, edi
call fcn.00473130
push 1
push 0
push 0
mov ecx, edi
call fcn.00473290
lea edx, [esp + 0x10]
push 0x6af6
push edx
call fcn.00441a20
add esp, 8
mov ecx, dword [esi + 0x2e0]
mov edx, dword [esi + 0x2dc]
mov eax, dword [eax]
push ecx
push edx
push eax
push 1
mov ecx, edi
mov dword [esp + 0x47c], 1
call fcn.004743d0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x46c], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42c511
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esi + 0x2d0]
push ebp
push ebp
push ecx
push str.CD_ROM
push 1
push 1
mov ecx, edi
call fcn.00473130
lea edx, [esp + 0x10]
push 0x6af9
push edx
mov ebx, 2
call fcn.00441a20
add esp, 8
mov ecx, dword [esi + 0x2e0]
mov edx, dword [esi + 0x2dc]
mov eax, dword [eax]
push ecx
push edx
push eax
push ebx
mov ecx, edi
mov dword [esp + 0x47c], ebx
call fcn.004743d0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x46c], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42c587
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi + 0x8c]
mov eax, dword [esi + 0x88]
lea ecx, [esp + 0x7c]
push ecx
push edx
push eax
call fcn.00419040
add esp, 0xc
cmp eax, 1
jne 0x42c5cd
movzx ecx, byte [esp + 0x7d]
movzx edx, byte [esp + 0x7e]
movzx eax, byte [esp + 0x7f]
shl ecx, 8
add ecx, edx
shl ecx, 8
lea ebp, [ecx + eax + 1]
cmp ebp, 0xffffffff
mov dword [esp + 0x10], ebp
jne 0x42c5ee
or ebp, ebp
mov ecx, dword [esi + 0x2d0]
push ebp
push ebp
push ecx
push 0x4db830
push 1
push 2
mov ecx, edi
call fcn.00473130
add ebx, 1
jmp 0x42c6cb
lea edx, [esp + 0x18]
push edx
push ebp
call fcn.00418530
mov eax, dword [esi + 0x2d0]
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x24]
push ecx
push 1
push 2
mov ecx, edi
call fcn.00473130
mov edx, dword [esi + 0x2e0]
mov eax, dword [esi + 0x2dc]
push edx
push eax
push 0x4d9da4
push 3
mov ecx, edi
call fcn.004743d0
sar ebp, 9
push ebp
lea ecx, [esp + 0x1c]
push str._d_MB
push ecx
call fcn.004b09b2
mov edx, dword [esi + 0x2d0]
add esp, 0xc
push 0xffffffffffffffff
push 0xffffffffffffffff
push edx
lea eax, [esp + 0x24]
push eax
push 1
push 3
mov ecx, edi
call fcn.00473130
mov ecx, dword [esi + 0x2e0]
mov edx, dword [esi + 0x2dc]
push ecx
push edx
push 0x4d9da4
mov ebx, 4
push ebx
mov ecx, edi
call fcn.004743d0
fild dword [esp + 0x10]
sub esp, 8
lea eax, [esp + 0x20]
fmul qword [0x4dda18]
fstp qword [esp]
push 0x4dda08
push eax
call fcn.004b09b2
mov ecx, dword [esi + 0x2d0]
add esp, 0x10
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
lea edx, [esp + 0x24]
push edx
push 1
push ebx
mov ecx, edi
call fcn.00473130
or ebp, 0xffffffff
add ebx, 1
jmp 0x42c6cb
or ebp, 0xffffffff
mov eax, dword [esi + 0x11c]
push 0
push 0
push 0xf0
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 1
jne 0x42c930
lea ecx, [esp + 0x10]
push 0x6b03
push ecx
call fcn.004414a0
add esp, 8
mov edx, dword [esi + 0x2d8]
mov ecx, dword [esi + 0x2d4]
mov eax, dword [eax]
push edx
push ecx
push eax
lea edi, [esi + 0x1a4]
push ebx
mov ecx, edi
mov dword [esp + 0x47c], 3
call fcn.004743d0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x46c], ebp
lea edx, [eax + 0xc]
mov ecx, ebp
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42c74c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 1
push 0
push ebx
mov ecx, edi
call fcn.00473200
mov ecx, dword [esi + 0x2d8]
push ebp
push ecx
push ebp
push 0x4d9da4
push 1
push ebx
mov ecx, edi
call fcn.00473130
push 1
push 0
push ebx
mov ecx, edi
call fcn.00473290
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x88]
lea edx, [esp + 0x7c]
push edx
push 0x3e8
push 0
push 0
push eax
push ecx
call fcn.00419bc0
add esp, 0x18
cmp eax, 1
jne 0x42c86b
lea edx, [esp + 0x10]
push 0x6b12
push edx
add ebx, eax
call fcn.004414a0
add esp, 8
mov ecx, dword [esi + 0x2e0]
mov edx, dword [esi + 0x2dc]
mov eax, dword [eax]
push ecx
push edx
push eax
push ebx
mov ecx, edi
mov dword [esp + 0x47c], 4
call fcn.004743d0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0x46c], ebp
lea ecx, [eax + 0xc]
lock xadd dword [ecx], ebp
dec ebp
test ebp, ebp
jg 0x42c805
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
movzx ecx, byte [esp + 0x7e]
movzx eax, byte [esp + 0x7f]
sub eax, ecx
add eax, 1
xor ebp, ebp
xor edx, edx
xor ecx, ecx
test eax, eax
jle 0x42c839
mov edi, edi
test byte [esp + ecx*8 + 0x81], 0xf
jne 0x42c82f
add ebp, 1
jmp 0x42c832
add edx, 1
add ecx, 1
cmp ecx, eax
jl 0x42c820
push edx
push ebp
push eax
lea edx, [esp + 0x24]
push str._d___d_audio___d_data_
push edx
call fcn.004b09b2
mov eax, dword [esi + 0x2d0]
add esp, 0x14
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x24]
push ecx
push 1
push ebx
mov ecx, edi
call fcn.00473130
or ebp, 0xffffffff
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x88]
lea edx, [esp + 0x7c]
push edx
push 0x3e8
push 0
push 1
push eax
push ecx
call fcn.00419bc0
add esp, 0x18
cmp eax, 1
jne 0x42c930
lea edx, [esp + 0x14]
push 0x6b13
push edx
add ebx, eax
call fcn.004414a0
add esp, 8
mov ecx, dword [esi + 0x2e0]
mov edx, dword [esi + 0x2dc]
mov eax, dword [eax]
push ecx
push edx
push eax
push ebx
mov ecx, edi
mov dword [esp + 0x47c], 5
call fcn.004743d0
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x46c], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42c8f6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
movzx ecx, byte [esp + 0x7f]
movzx edx, byte [esp + 0x7e]
sub ecx, edx
add ecx, 1
push ecx
lea eax, [esp + 0x1c]
push 0x4da260
push eax
call fcn.004b09b2
mov ecx, dword [esi + 0x2d0]
add esp, 0xc
push ebp
push ebp
push ecx
lea edx, [esp + 0x24]
push edx
push 1
push ebx
mov ecx, edi
call fcn.00473130
mov ecx, dword [esp + 0x464]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x460
ret
push 0xffffffffffffffff
push 0x4d23e8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb20
push ebx
push ebp
push esi
push edi
lea eax, [esp + 0x530]
push eax
mov esi, ecx
mov ecx, dword [esi + 0x8c]
mov edx, dword [esi + 0x88]
push 0x400
xor ebx, ebx
push ebx
push ecx
push edx
mov byte [esp + 0x2b], bl
call fcn.0041ac50
add esp, 0x14
cmp eax, 1
jne 0x42c9a4
mov byte [esp + 0x17], al
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x88]
push eax
push ecx
call fcn.0041b120
mov edx, dword [esi + 0x170]
add esp, 8
push 0
mov edi, eax
movzx eax, byte [esp + 0x544]
push 0
push 0xf0
shr eax, 4
push edx
mov dword [esp + 0x28], eax
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x42cf4e
lea eax, [esp + 0x10]
push 0x6b00
push eax
call fcn.004414a0
add esp, 8
mov ecx, dword [esi + 0x2d8]
mov edx, dword [esi + 0x2d4]
mov eax, dword [eax]
push ecx
push edx
push eax
lea ebp, [esi + 0x1a4]
push 0
mov ecx, ebp
mov dword [esp + 0xb48], 0
call fcn.004743d0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0xb38], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42ca51
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 1
push 0
push 0
mov ecx, ebp
call fcn.00473200
mov ecx, dword [esi + 0x2d8]
push 0xffffffffffffffff
push ecx
push 0xffffffffffffffff
push 0x4d9da4
push 1
push 0
mov ecx, ebp
call fcn.00473130
push 1
push 0
push 0
mov ecx, ebp
call fcn.00473290
lea edx, [esp + 0x10]
push 0x6af6
push edx
mov ebx, 1
call fcn.00441a20
add esp, 8
mov ecx, dword [esi + 0x2e0]
mov edx, dword [esi + 0x2dc]
mov eax, dword [eax]
push ecx
push edx
push eax
push ebx
mov ecx, ebp
mov dword [esp + 0xb48], ebx
call fcn.004743d0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0xb38], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42cae8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
movzx edx, word [0x4ddad0]
mov al, byte [0x4ddad2]
mov ecx, dword [str.BD_ROM]
mov word [esp + 0x2c], dx
mov dl, byte [0x4ddac8]
mov byte [esp + 0x2e], al
xor eax, eax
mov byte [esp + 0x3c], dl
mov byte [esp + 0x4c], dl
movzx edx, word [0x4ddac0]
mov dword [esp + 0x2f], eax
mov dword [esp + 0x33], eax
mov byte [esp + 0x37], al
mov dword [esp + 0x3d], eax
mov dword [esp + 0x41], eax
mov word [esp + 0x45], ax
mov byte [esp + 0x47], al
mov dword [esp + 0x4d], eax
mov dword [esp + 0x51], eax
mov word [esp + 0x55], ax
mov byte [esp + 0x57], al
mov dword [esp + 0x5e], eax
mov dword [esp + 0x62], eax
mov word [esp + 0x66], ax
mov dword [esp + 0x28], ecx
mov ecx, dword [str.BD_R]
lea eax, [edi - 0x40]
shl eax, 4
mov word [esp + 0x5c], dx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x48], ecx
mov ecx, dword [str.BD_RE]
lea eax, [esp + eax + 0x28]
lea edx, [esp + 0x68]
mov dword [esp + 0x58], ecx
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x42cb86
push 3
lea eax, [esp + 0x140]
push 0x4ddab8
push eax
call fcn.004b277c
add esp, 0xc
test eax, eax
jne 0x42cbbf
mov dl, byte [0x4ddac8]
mov ecx, dword [str.BD_R]
mov byte [esp + 0x6c], dl
jmp 0x42cc1f
push 3
lea eax, [esp + 0x140]
push 0x4ddab4
push eax
call fcn.004b277c
add esp, 0xc
test eax, eax
jne 0x42cbe9
mov ecx, dword [str.BD_RE]
mov dx, word [0x4ddac0]
jmp 0x42cc1a
push 3
lea eax, [esp + 0x140]
push 0x4ddab0
push eax
call fcn.004b277c
add esp, 0xc
test eax, eax
jne 0x42cc23
mov al, byte [0x4ddad2]
mov ecx, dword [str.BD_ROM]
mov dx, word [0x4ddad0]
mov byte [esp + 0x6e], al
mov word [esp + 0x6c], dx
mov dword [esp + 0x68], ecx
cmp dword [esp + 0x18], 1
jle 0x42cc45
lea eax, [esp + 0x68]
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x42cc31
mov ecx, dword [0x4ddaac]
mov edi, eax
mov dword [edi], ecx
mov edx, dword [esi + 0x2d0]
or edi, 0xffffffff
push edi
push edi
push edx
lea eax, [esp + 0x74]
push eax
push 1
push 1
mov ecx, ebp
call fcn.00473130
cmp byte [esp + 0x17], 0
je 0x42ccbb
mov ecx, dword [esi + 0x2e0]
push ecx
push edi
push 0x4dda30
lea ebx, [edi + 3]
push ebx
mov ecx, ebp
call fcn.004743d0
movzx edx, byte [esp + 0x5a3]
push edx
lea eax, [esp + 0x59c]
push eax
lea ecx, [esp + 0x70]
push str._.9s___03d_
push ecx
call fcn.004b09b2
mov edx, dword [esi + 0x2d0]
add esp, 0x10
push edi
push edi
push edx
lea eax, [esp + 0x74]
push eax
push 1
push ebx
mov ecx, ebp
call fcn.00473130
lea ecx, [esp + 0x10]
push 0x6b01
push ecx
add ebx, 1
call fcn.00441a20
add esp, 8
mov edx, dword [esi + 0x2e0]
mov ecx, dword [esi + 0x2dc]
mov eax, dword [eax]
push edx
push ecx
push eax
push ebx
mov ecx, ebp
mov dword [esp + 0xb48], 2
call fcn.004743d0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0xb38], edi
lea edx, [eax + 0xc]
mov ecx, edi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42cd1a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x8c]
lea ecx, [esp + 0x930]
push ecx
mov ecx, dword [esi + 0x88]
lea edx, [esp + 0x6c]
push edx
push eax
push ecx
call fcn.0043d9e0
mov edx, dword [esi + 0x2d0]
add esp, 0x10
push edi
push edi
push edx
lea eax, [esp + 0x74]
push eax
push 1
push ebx
mov ecx, ebp
call fcn.00473130
lea ecx, [esp + 0x10]
push 0x6b02
push ecx
add ebx, 1
call fcn.00441a20
add esp, 8
mov edx, dword [esi + 0x2e0]
mov ecx, dword [esi + 0x2dc]
mov eax, dword [eax]
push edx
push ecx
push eax
push ebx
mov ecx, ebp
mov dword [esp + 0xb48], 3
call fcn.004743d0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0xb38], edi
lea edx, [eax + 0xc]
lock xadd dword [edx], edi
dec edi
test edi, edi
jg 0x42cdb2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi + 0x8c]
mov eax, dword [esi + 0x88]
lea ecx, [esp + 0x130]
push ecx
push 0x80
push edx
push eax
xor edi, edi
call fcn.0041af60
add esp, 0x10
cmp eax, 1
jne 0x42ce48
movzx edx, byte [esp + 0x133]
shr edx, 3
xor eax, eax
test edx, edx
mov dword [esp + 0x10], edx
jle 0x42ce48
mov cl, byte [esp + eax*8 + 0x138]
test cl, cl
je 0x42ce01
cmp cl, 0xc4
jne 0x42ce39
movzx edi, byte [esp + eax*8 + 0x134]
movzx edx, byte [esp + eax*8 + 0x135]
shl edi, 8
add edi, edx
movzx edx, byte [esp + eax*8 + 0x136]
shl edi, 8
add edi, edx
movzx edx, byte [esp + eax*8 + 0x137]
shl edi, 8
add edi, edx
cmp cl, 0xc4
je 0x42ce40
mov edx, dword [esp + 0x10]
add eax, 1
cmp eax, edx
jl 0x42cdf1
test edi, edi
mov dword [esp + 0x10], edi
jne 0x42ce5d
mov eax, dword [esi + 0x2d0]
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
push 0x4db830
jmp 0x42cf41
fild dword [esp + 0x10]
sub esp, 8
lea ecx, [esp + 0x70]
fst qword [esp + 0x24]
fmul qword [0x4dda28]
fmul qword [0x4db2a0]
fstp qword [esp]
push 0x4dda20
push ecx
call fcn.004b09b2
mov edx, dword [esi + 0x2d0]
add esp, 0x10
push 0xffffffffffffffff
push 0xffffffffffffffff
push edx
lea eax, [esp + 0x74]
push eax
push 1
push ebx
mov ecx, ebp
call fcn.00473130
mov ecx, dword [esi + 0x2e0]
mov edx, dword [esi + 0x2dc]
push ecx
push edx
push 0x4d9da4
add ebx, 1
push ebx
mov ecx, ebp
call fcn.004743d0
sar edi, 9
push edi
lea eax, [esp + 0x6c]
push str._d_MB
push eax
call fcn.004b09b2
mov ecx, dword [esi + 0x2d0]
add esp, 0xc
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
lea edx, [esp + 0x74]
push edx
push 1
push ebx
mov ecx, ebp
call fcn.00473130
mov eax, dword [esi + 0x2e0]
mov ecx, dword [esi + 0x2dc]
push eax
push ecx
push 0x4d9da4
add ebx, 1
push ebx
mov ecx, ebp
call fcn.004743d0
fld qword [esp + 0x1c]
fmul qword [0x4dda18]
sub esp, 8
lea edx, [esp + 0x70]
fstp qword [esp]
push 0x4dda08
push edx
call fcn.004b09b2
mov eax, dword [esi + 0x2d0]
add esp, 0x10
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x74]
push ecx
push 1
push ebx
mov ecx, ebp
call fcn.00473130
add ebx, 1
mov edx, dword [esi + 0x11c]
push 0
push 0
push 0xf0
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 1
jne 0x42d1f8
lea eax, [esp + 0x10]
push 0x6b03
push eax
call fcn.004414a0
add esp, 8
mov ecx, dword [esi + 0x2d8]
mov edx, dword [esi + 0x2d4]
mov eax, dword [eax]
push ecx
push edx
push eax
lea ebp, [esi + 0x1a4]
push ebx
mov ecx, ebp
mov dword [esp + 0xb48], 4
call fcn.004743d0
mov eax, dword [esp + 0x10]
or edi, 0xffffffff
add eax, 0xfffffff0
mov dword [esp + 0xb38], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42cfd2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 1
push 0
push ebx
mov ecx, ebp
call fcn.00473200
mov ecx, dword [esi + 0x2d8]
push edi
push ecx
push edi
push 0x4d9da4
push 1
push ebx
mov ecx, ebp
call fcn.00473130
push 1
push 0
push ebx
mov ecx, ebp
call fcn.00473290
lea edx, [esp + 0x10]
push 0x6b04
push edx
add ebx, 1
call fcn.00441a20
add esp, 8
mov ecx, dword [esi + 0x2e0]
mov edx, dword [esi + 0x2dc]
mov eax, dword [eax]
push ecx
push edx
push eax
push ebx
mov ecx, ebp
mov dword [esp + 0xb48], 5
call fcn.004743d0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0xb38], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d061
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x18]
push ecx
lea edx, [esp + 0x6c]
push 0x4da260
push edx
call fcn.004b09b2
mov eax, dword [esi + 0x2d0]
add esp, 0xc
push edi
push edi
push eax
lea ecx, [esp + 0x74]
push ecx
push 1
push ebx
mov ecx, ebp
call fcn.00473130
lea edx, [esp + 0x18]
push 0x6b0a
push edx
add ebx, 1
call fcn.00441a20
add esp, 8
mov ecx, dword [esi + 0x2e0]
mov edx, dword [esi + 0x2dc]
mov eax, dword [eax]
push ecx
push edx
push eax
push ebx
mov ecx, ebp
mov dword [esp + 0xb48], 6
call fcn.004743d0
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov dword [esp + 0xb38], edi
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d0ef
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi + 0x8c]
mov eax, dword [esi + 0x88]
lea ecx, [esp + 0x130]
push ecx
push 0x20
push edx
push eax
mov dword [esp + 0x78], 0x612f6e
call fcn.00419b60
add esp, 0x10
cmp eax, 1
jne 0x42d1dd
movzx eax, byte [esp + 0x132]
and eax, 3
sub eax, 0
je 0x42d196
sub eax, 1
je 0x42d16a
sub eax, 1
jne 0x42d1dd
lea ecx, [esp + 0x18]
push 0x6b0c
push ecx
call fcn.004414a0
mov ecx, dword [eax]
add esp, 8
lea edx, [esp + 0x68]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x42d156
mov eax, dword [esp + 0x18]
jmp 0x42d1c2
lea ecx, [esp + 0x10]
push 0x6b0d
push ecx
call fcn.004414a0
mov ecx, dword [eax]
add esp, 8
lea edx, [esp + 0x68]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x42d182
mov eax, dword [esp + 0x10]
jmp 0x42d1c2
lea ecx, [esp + 0x1c]
push 0x6b0b
push ecx
call fcn.004414a0
mov ecx, dword [eax]
add esp, 8
lea edx, [esp + 0x68]
mov edi, edi
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x42d1b0
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
mov ecx, edi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42d1dd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esi + 0x2d0]
push edi
push edi
push ecx
lea edx, [esp + 0x74]
push edx
push 1
push ebx
mov ecx, ebp
call fcn.00473130
add ebx, 1
mov eax, dword [esi + 0xc8]
push 0
push 0
push 0xf0
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x42d43c
lea ecx, [esp + 0x24]
push 0x6b07
push ecx
call fcn.004414a0
add esp, 8
mov edx, dword [esi + 0x2d8]
mov ecx, dword [esi + 0x2d4]
mov eax, dword [eax]
push edx
push ecx
lea ebp, [esi + 0x1a4]
push eax
push ebx
mov ecx, ebp
mov dword [esp + 0xb48], 7
mov dword [esp + 0x2c], ebp
call fcn.004743d0
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
mov dword [esp + 0xb38], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42d281
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 1
push 0
push ebx
mov ecx, ebp
call fcn.00473200
mov ecx, dword [esi + 0x2d8]
push 0xffffffffffffffff
push ecx
push 0xffffffffffffffff
push 0x4d9da4
push 1
push ebx
mov ecx, ebp
call fcn.00473130
push 1
push 0
push ebx
mov ecx, ebp
call fcn.00473290
cmp byte [esp + 0x17], 0
je 0x42d43c
mov edx, dword [esi + 0x2e0]
push edx
push 0xffffffffffffffff
add ebx, 1
push str.Physical_Format_Information__00h_
push ebx
mov ecx, ebp
call fcn.004743d0
mov dword [esp + 0x10], 0
nop
mov eax, dword [esp + 0x10]
push eax
lea ecx, [esp + 0x6c]
push str._04X__
push ecx
call fcn.004b09b2
add esp, 0xc
xor ebp, ebp
lea esp, [esp]
mov eax, dword [esp + 0x10]
lea eax, [esp + eax + 0x534]
movzx edx, byte [eax + ebp]
push edx
lea eax, [esp + 0xd0]
push str._02X
push eax
call fcn.004b09b2
lea eax, [esp + 0xd8]
add esp, 0xc
mov esi, eax
mov edi, edi
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x42d330
lea edi, [esp + 0x68]
sub eax, esi
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x42d342
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
add ebp, 1
cmp ebp, 0x10
rep movsb byte es:[edi], byte [esi]
jl 0x42d300
lea eax, [esp + 0x68]
add eax, 0xffffffff
lea esp, [esp]
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x42d370
mov cx, word [0x4dd944]
mov dl, byte [0x4dd946]
mov word [eax], cx
mov byte [eax + 2], dl
xor ebp, ebp
nop
mov esi, dword [esp + 0x10]
lea esi, [esp + esi + 0x534]
movzx eax, byte [esi + ebp]
push eax
call fcn.004b305c
add esp, 4
test eax, eax
je 0x42d3b2
movzx eax, byte [esi + ebp]
jmp 0x42d3b7
mov eax, 0x2e
push eax
lea ecx, [esp + 0xd0]
push str._.1c
push ecx
call fcn.004b09b2
lea eax, [esp + 0xd8]
add esp, 0xc
mov esi, eax
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x42d3d6
lea edi, [esp + 0x68]
sub eax, esi
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x42d3e8
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
add ebp, 1
cmp ebp, 0x10
rep movsb byte es:[edi], byte [esi]
jl 0x42d390
mov esi, dword [esp + 0x1c]
lea edx, [esp + 0x68]
push edx
add ebx, 1
push ebx
mov ecx, esi
call fcn.00474680
push 1
push 0
push ebx
mov ecx, esi
call fcn.00473290
mov eax, dword [esp + 0x10]
add eax, 0x10
cmp eax, 0x70
mov dword [esp + 0x10], eax
jl 0x42d2e0
mov ecx, dword [esp + 0xb30]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xb2c
ret
push 0xffffffffffffffff
push 0x4d2463
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb04
push ebx
push ebp
push esi
push edi
lea eax, [esp + 0x514]
push eax
mov esi, ecx
mov ecx, dword [esi + 0x8c]
mov edx, dword [esi + 0x88]
push 0x400
push 4
push ecx
push edx
xor ebp, ebp
mov byte [esp + 0x2b], 0
call fcn.0041abf0
add esp, 0x14
cmp eax, 1
jne 0x42d4b6
mov byte [esp + 0x17], al
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x88]
push eax
push ecx
call fcn.0041b120
add esp, 8
cmp eax, 0x58
mov dword [esp + 0x18], eax
je 0x42d4e2
cmp eax, 0x5a
mov dword [esp + 0x20], 1
jne 0x42d4ea
mov dword [esp + 0x20], 2
mov edx, dword [esi + 0x170]
push 0
push 0
push 0xf0
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
or ebx, 0xffffffff
test eax, eax
je 0x42d9ee
lea eax, [esp + 0x10]
push 0x6b00
push eax
call fcn.004414a0
add esp, 8
mov ecx, dword [esi + 0x2d8]
mov edx, dword [esi + 0x2d4]
mov eax, dword [eax]
push ecx
push edx
push eax
lea edi, [esi + 0x1a4]
push 0
mov ecx, edi
mov dword [esp + 0xb2c], 0
call fcn.004743d0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0xb1c], ebx
lea ecx, [eax + 0xc]
mov edx, ebx
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d56e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 1
push 0
push 0
mov ecx, edi
call fcn.00473200
mov ecx, dword [esi + 0x2d8]
push ebx
push ecx
push ebx
push 0x4d9da4
push 1
push 0
mov ecx, edi
call fcn.00473130
push 1
push 0
push 0
mov ecx, edi
call fcn.00473290
lea edx, [esp + 0x10]
push 0x6af6
push edx
mov ebp, 1
call fcn.00441a20
add esp, 8
mov ecx, dword [esi + 0x2e0]
mov edx, dword [esi + 0x2dc]
mov eax, dword [eax]
push ecx
push edx
push eax
push ebp
mov ecx, edi
mov dword [esp + 0xb2c], ebp
call fcn.004743d0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov dword [esp + 0xb1c], ebx
lea ecx, [eax + 0xc]
mov edx, ebx
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42d5fe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x28]
push ecx
push edx
call fcn.00418ce0
add esp, 4
push eax
call fcn.0043cb80
mov eax, dword [esi + 0x2d0]
add esp, 8
push ebx
push ebx
push eax
lea ecx, [esp + 0x34]
push ecx
push 1
push 1
mov ecx, edi
call fcn.00473130
cmp byte [esp + 0x17], 0
je 0x42d685
mov edx, dword [esi + 0x2e0]
push edx
push ebx
push 0x4dda30
mov ebp, 2
push ebp
mov ecx, edi
call fcn.004743d0
lea eax, [esp + 0x618]
push eax
lea ecx, [esp + 0x2c]
push str._.15s
push ecx
call fcn.004b09b2
mov edx, dword [esi + 0x2d0]
add esp, 0xc
push ebx
push ebx
push edx
lea eax, [esp + 0x34]
push eax
push 1
push ebp
mov ecx, edi
call fcn.00473130
lea ecx, [esp + 0x18]
push 0x6b01
push ecx
add ebp, 1
call fcn.00441a20
add esp, 8
mov edx, dword [esi + 0x2e0]
mov ecx, dword [esi + 0x2dc]
mov eax, dword [eax]
push edx
push ecx
push eax
push ebp
mov ecx, edi
mov dword [esp + 0xb2c], 2
call fcn.004743d0
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov dword [esp + 0xb1c], ebx
lea edx, [eax + 0xc]
mov ecx, ebx
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42d6e4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x8c]
lea ecx, [esp + 0x914]
push ecx
mov ecx, dword [esi + 0x88]
lea edx, [esp + 0x2c]
push edx
push eax
push ecx
call fcn.0043d860
mov edx, dword [esi + 0x2d0]
add esp, 0x10
push ebx
push ebx
push edx
lea eax, [esp + 0x34]
push eax
push 1
push ebp
mov ecx, edi
call fcn.00473130
lea ecx, [esp + 0x18]
push 0x6b02
push ecx
add ebp, 1
call fcn.00441a20
add esp, 8
mov edx, dword [esi + 0x2e0]
mov ecx, dword [esi + 0x2dc]
mov eax, dword [eax]
push edx
push ecx
push eax
push ebp
mov ecx, edi
mov dword [esp + 0xb2c], 3
call fcn.004743d0
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov dword [esp + 0xb1c], ebx
lea edx, [eax + 0xc]
lock xadd dword [edx], ebx
dec ebx
test ebx, ebx
jg 0x42d77c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esi + 0x8c]
mov edx, dword [esi + 0x88]
push ecx
push edx
call fcn.0041a3b0
add esp, 8
test al, al
je 0x42d87b
mov ecx, dword [esi + 0x8c]
mov edx, dword [esi + 0x88]
lea eax, [esp + 0x114]
push eax
push 0x20
push 0
push 0
push ecx
push edx
call fcn.00419740
add esp, 0x18
cmp eax, 1
jne 0x42d8da
movzx eax, byte [esp + 0x124]
movzx ecx, byte [esp + 0x125]
movzx edx, byte [esp + 0x126]
shl eax, 8
add eax, ecx
movzx ecx, byte [esp + 0x127]
shl eax, 8
add eax, edx
shl eax, 8
lea ebx, [eax + ecx + 1]
cmp ebx, 1
mov dword [esp + 0x10], ebx
jne 0x42d8cd
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x88]
lea edx, [esp + 0x114]
push edx
push 0x20
push eax
push ecx
call fcn.0041af60
add esp, 0x10
cmp eax, ebx
jne 0x42d8fa
cmp byte [esp + 0x117], 7
jbe 0x42d8fa
cmp byte [esp + 0x11c], bl
jne 0x42d8fa
movzx edx, byte [esp + 0x118]
movzx eax, byte [esp + 0x119]
movzx ecx, byte [esp + 0x11a]
shl edx, 8
add edx, eax
movzx eax, byte [esp + 0x11b]
shl edx, 8
add edx, ecx
shl edx, 8
lea ebx, [edx + eax + 1]
jmp 0x42d8c9
mov edx, dword [esi + 0x8c]
mov eax, dword [esi + 0x88]
lea ecx, [esp + 0x114]
push ecx
push 0x20
push 0x10
push edx
push eax
call fcn.0041abf0
add esp, 0x14
cmp eax, 1
jne 0x42d8da
movzx ecx, byte [esp + 0x121]
movzx edx, byte [esp + 0x122]
movzx eax, byte [esp + 0x123]
shl ecx, 8
add ecx, edx
shl ecx, 8
lea ebx, [ecx + eax - 0x2ffff]
mov dword [esp + 0x10], ebx
cmp ebx, 0xf00000
jg 0x42d8da
cmp ebx, 0xffffffff
jne 0x42d8fa
mov ecx, dword [esi + 0x2d0]
or ebx, 0xffffffff
push ebx
push ebx
push ecx
push 0x4db830
push 1
push ebp
mov ecx, edi
call fcn.00473130
jmp 0x42d9eb
fild dword [esp + 0x10]
sub esp, 8
lea edx, [esp + 0x30]
fst qword [esp + 0x20]
fmul qword [0x4dda28]
fmul qword [0x4db2a0]
fstp qword [esp]
push 0x4dda20
push edx
call fcn.004b09b2
mov eax, dword [esi + 0x2d0]
add esp, 0x10
push 0xffffffffffffffff
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x34]
push ecx
push 1
push ebp
mov ecx, edi
call fcn.00473130
mov edx, dword [esi + 0x2e0]
mov eax, dword [esi + 0x2dc]
push edx
push eax
push 0x4d9da4
add ebp, 1
push ebp
mov ecx, edi
call fcn.004743d0
sar ebx, 9
push ebx
lea ecx, [esp + 0x2c]
push str._d_MB
push ecx
call fcn.004b09b2
mov edx, dword [esi + 0x2d0]
add esp, 0xc
push 0xffffffffffffffff
push 0xffffffffffffffff
push edx
lea eax, [esp + 0x34]
push eax
push 1
push ebp
mov ecx, edi
call fcn.00473130
mov ecx, dword [esi + 0x2e0]
mov edx, dword [esi + 0x2dc]
push ecx
push edx
push 0x4d9da4
add ebp, 1
push ebp
mov ecx, edi
call fcn.004743d0
fld qword [esp + 0x18]
fmul qword [0x4dda18]
sub esp, 8
lea eax, [esp + 0x30]
fstp qword [esp]
push 0x4dda08
push eax
call fcn.004b09b2
mov ecx, dword [esi + 0x2d0]
add esp, 0x10
push 0xffffffffffffffff
push 0xffffffffffffffff
push ecx
lea edx, [esp + 0x34]
push edx
push 1
push ebp
mov ecx, edi
call fcn.00473130
or ebx, 0xffffffff
add ebp, 1
mov eax, dword [esi + 0x11c]
push 0
push 0
push 0xf0
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 1
jne 0x42dd82
lea ecx, [esp + 0x18]
push 0x6b03
push ecx
call fcn.004414a0
add esp, 8
mov edx, dword [esi + 0x2d8]
mov ecx, dword [esi + 0x2d4]
mov eax, dword [eax]
push edx
push ecx
push eax
lea edi, [esi + 0x1a4]
push ebp
mov ecx, edi
mov dword [esp + 0xb2c], 4
call fcn.004743d0
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov dword [esp + 0xb1c], ebx
lea edx, [eax + 0xc]
mov ecx, ebx
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42da6f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 1
push 0
push ebp
mov ecx, edi
call fcn.00473200
mov ecx, dword [esi + 0x2d8]
push ebx
push ecx
push ebx
push 0x4d9da4
push 1
push ebp
mov ecx, edi
call fcn.00473130
push 1
push 0
push ebp
mov ecx, edi
call fcn.00473290
lea edx, [esp + 0x18]
push 0x6b04
push edx
add ebp, 1
call fcn.00441a20
add esp, 8
mov ecx, dword [esi + 0x2e0]
mov edx, dword [esi + 0x2dc]
mov eax, dword [eax]
push ecx
push edx
push eax
push ebp
mov ecx, edi
mov dword [esp + 0xb2c], 5
call fcn.004743d0
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov dword [esp + 0xb1c], ebx
lea ecx, [eax + 0xc]
mov edx, ebx
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42dafe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x2c]
push 0x4da260
push edx
call fcn.004b09b2
mov eax, dword [esi + 0x2d0]
add esp, 0xc
push ebx
push ebx
push eax
lea ecx, [esp + 0x34]
push ecx
push 1
push ebp
mov ecx, edi
call fcn.00473130
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x88]
lea edx, [esp + 0x8c]
push edx
push 0x24
push 0
push eax
push ecx
call fcn.0041abf0
add esp, 0x14
cmp eax, 1
jne 0x42dc23
test byte [esp + 0x92], 0x60
jbe 0x42dc23
lea edx, [esp + 0x18]
push 0x6b06
push edx
add ebp, 1
call fcn.00441a20
add esp, 8
mov ecx, dword [esi + 0x2e0]
mov edx, dword [esi + 0x2dc]
mov eax, dword [eax]
push ecx
push edx
push eax
push ebp
mov ecx, edi
mov dword [esp + 0xb2c], 6
call fcn.004743d0
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov dword [esp + 0xb1c], ebx
lea ecx, [eax + 0xc]
mov edx, ebx
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42dbc5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x9c]
push ecx
call fcn.0043bb40
sub eax, 0x30000
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x42dbe9
fadd qword [0x4dda00]
fmul qword [0x4dda28]
push ecx
lea edx, [esp + 0x30]
fmul qword [0x4db2a0]
fstp qword [esp]
push str._4.2f_GB
push edx
call fcn.004b09b2
mov eax, dword [esi + 0x2d0]
add esp, 0x10
push ebx
push ebx
push eax
lea ecx, [esp + 0x34]
push ecx
push 1
push ebp
mov ecx, edi
call fcn.00473130
lea edx, [esp + 0x18]
push 0x6b0a
push edx
add ebp, 1
call fcn.00441a20
add esp, 8
mov ecx, dword [esi + 0x2e0]
mov edx, dword [esi + 0x2dc]
mov eax, dword [eax]
push ecx
push edx
push eax
push ebp
mov ecx, edi
mov dword [esp + 0xb2c], 7
call fcn.004743d0
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov dword [esp + 0xb1c], ebx
lea ecx, [eax + 0xc]
mov edx, ebx
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42dc82
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edx, dword [esi + 0x8c]
mov eax, dword [esi + 0x88]
lea ecx, [esp + 0x114]
push ecx
push 0x20
push edx
push eax
mov dword [esp + 0x38], 0x612f6e
call fcn.00419b60
add esp, 0x10
cmp eax, 1
jne 0x42dd67
movzx eax, byte [esp + 0x116]
and eax, 3
sub eax, 0
je 0x42dd34
sub eax, 1
je 0x42dd04
sub eax, 1
jne 0x42dd67
lea ecx, [esp + 0x18]
push 0x6b0c
push ecx
call fcn.004414a0
mov ecx, dword [eax]
add esp, 8
lea edx, [esp + 0x28]
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x42dcf0
lea ecx, [esp + 0x18]
jmp 0x42dd62
lea edx, [esp + 0x20]
push 0x6b0d
push edx
call fcn.004414a0
mov ecx, dword [eax]
add esp, 8
lea edx, [esp + 0x28]
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x42dd20
lea ecx, [esp + 0x20]
jmp 0x42dd62
lea eax, [esp + 0x10]
push 0x6b0b
push eax
call fcn.004414a0
mov ecx, dword [eax]
add esp, 8
lea edx, [esp + 0x28]
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x42dd50
lea ecx, [esp + 0x10]
call fcn.00402470
mov ecx, dword [esi + 0x2d0]
push ebx
push ebx
push ecx
lea edx, [esp + 0x34]
push edx
push 1
push ebp
mov ecx, edi
call fcn.00473130
add ebp, 1
mov eax, dword [esi + 0xc8]
push 0
push 0
push 0xf0
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x42dfe4
mov edx, dword [esi + 0x8c]
mov eax, dword [esi + 0x88]
lea ecx, [esp + 0x514]
push ecx
push 0x400
push 0
push edx
push eax
call fcn.0041abf0
lea ecx, [esp + 0x38]
push 0x6b07
push ecx
call fcn.004414a0
add esp, 0x1c
mov edx, dword [esi + 0x2d8]
mov ecx, dword [esi + 0x2d4]
mov eax, dword [eax]
push edx
push ecx
lea edi, [esi + 0x1a4]
push eax
push ebp
mov ecx, edi
mov dword [esp + 0xb2c], 8
mov dword [esp + 0x28], edi
call fcn.004743d0
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
mov dword [esp + 0xb1c], ebx
lea edx, [eax + 0xc]
mov ecx, ebx
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42de28
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 1
push 0
push ebp
mov ecx, edi
call fcn.00473200
mov ecx, dword [esi + 0x2d8]
push ebx
push ecx
push ebx
push 0x4d9da4
push 1
push ebp
mov ecx, edi
call fcn.00473130
push 1
push 0
push ebp
mov ecx, edi
call fcn.00473290
cmp byte [esp + 0x17], 0
je 0x42dfe4
mov edx, dword [esi + 0x2e0]
push edx
push ebx
add ebp, 1
push str.Physical_Format_Information__00h_
push ebp
mov ecx, edi
call fcn.004743d0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
push eax
lea ecx, [esp + 0x2c]
push str._04X__
push ecx
call fcn.004b09b2
add esp, 0xc
xor ebx, ebx
lea esp, [esp]
mov eax, dword [esp + 0x10]
lea eax, [esp + eax + 0x518]
movzx edx, byte [eax + ebx]
push edx
lea eax, [esp + 0xb4]
push str._02X
push eax
call fcn.004b09b2
lea eax, [esp + 0xbc]
add esp, 0xc
mov ecx, eax
mov edi, edi
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x42ded0
lea edi, [esp + 0x28]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x42dee4
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
add ebx, 1
cmp ebx, 0x10
rep movsb byte es:[edi], byte [esi]
jl 0x42dea0
lea eax, [esp + 0x28]
add eax, 0xffffffff
jmp 0x42df10
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x42df10
mov cx, word [0x4dd944]
mov dl, byte [0x4dd946]
mov word [eax], cx
mov byte [eax + 2], dl
xor ebx, ebx
nop
mov esi, dword [esp + 0x10]
lea esi, [esp + esi + 0x518]
movzx eax, byte [esi + ebx]
push eax
call fcn.004b305c
add esp, 4
test eax, eax
je 0x42df52
movzx eax, byte [esi + ebx]
jmp 0x42df57
mov eax, 0x2e
push eax
lea ecx, [esp + 0xb4]
push str._.1c
push ecx
call fcn.004b09b2
lea eax, [esp + 0xbc]
add esp, 0xc
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x42df76
lea edi, [esp + 0x28]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
lea ebx, [ebx]
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x42df90
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
add ebx, 1
cmp ebx, 0x10
rep movsb byte es:[edi], byte [esi]
jl 0x42df30
mov esi, dword [esp + 0x18]
lea edx, [esp + 0x28]
push edx
add ebp, 1
push ebp
mov ecx, esi
call fcn.00474680
push 1
push 0
push ebp
mov ecx, esi
call fcn.00473290
mov eax, dword [esp + 0x10]
add eax, 0x10
cmp eax, 0x70
mov dword [esp + 0x10], eax
jl 0x42de83
mov ecx, dword [esp + 0xb14]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xb10
ret
sub esp, 0x24
push esi
mov esi, ecx
lea ecx, [esi + 0x1a4]
call fcn.00473340
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x88]
push eax
push ecx
call fcn.0043e110
add esp, 8
test al, al
je 0x42e036
mov ecx, esi
pop esi
add esp, 0x24
jmp 0x42d460
mov edx, dword [esi + 0x8c]
mov eax, dword [esi + 0x88]
push edx
push eax
call fcn.0043e140
add esp, 8
test al, al
je 0x42e05b
mov ecx, esi
pop esi
add esp, 0x24
jmp 0x42c950
mov ecx, dword [esi + 0x8c]
mov edx, dword [esi + 0x88]
push ecx
push edx
call fcn.0043d7d0
add esp, 8
test al, al
je 0x42e080
mov ecx, esi
pop esi
add esp, 0x24
jmp fcn.004294b0
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x88]
push eax
push ecx
call fcn.0043d840
add esp, 8
test al, al
je 0x42e0a5
mov ecx, esi
pop esi
add esp, 0x24
jmp 0x42b050
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x88]
lea edx, [esp + 4]
push edx
push 0x24
push 0
push eax
push ecx
call fcn.0041abf0
add esp, 0x14
cmp eax, 1
jne 0x42e0e6
test byte [esp + 8], 0xf0
mov ecx, esi
jne 0x42e0dc
call fcn.0042b920
pop esi
add esp, 0x24
ret
call fcn.004294b0
pop esi
add esp, 0x24
ret
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x88]
lea edx, [esp + 4]
push edx
push 0x20
push 0
push 4
push eax
push ecx
call fcn.00419bc0
add esp, 0x18
cmp eax, 1
jne 0x42e11f
cmp byte [esp + 5], 2
jbe 0x42e11f
mov ecx, esi
call fcn.0042a710
pop esi
add esp, 0x24
ret
movzx edx, byte [esi + 0x8c]
movzx eax, byte [esi + 0x88]
push edx
push eax
call fcn.004195e0
add esp, 8
cmp eax, 1
jne 0x42e0d7
mov ecx, esi
pop esi
add esp, 0x24
jmp 0x42c3e0