Function at 0x433990
Capabilities:
Check if file exists
Get file attributes
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x581880
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
push edi
mov eax, dword [0x5eb6e0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 4
lea eax, [ebp - 0x14]
xor edi, edi
push eax
mov ecx, esi
mov dword [ebp - 0x1c], edi
call fcn.00432310
push 9
push str.model.ini
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], edi
call fcn.00405900
push 0xb
lea ecx, [ebp - 0x10]
push ecx
mov ecx, esi
call fcn.00432310
push 0xb
mov ebx, 1
push str.default.ini
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], bl
call fcn.00405900
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 0xc]
cmp eax, edi
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
je 0x433a1b
push ecx
call edi
cmp eax, 0xffffffff
je 0x433a1b
test al, 0x10
je 0x433a3c
mov eax, dword [ebp - 0x10]
cmp dword [eax - 0xc], 0
je 0x434fa5
push eax
call edi
cmp eax, 0xffffffff
je 0x434fa5
test al, 0x10
jne 0x434fa5
mov eax, dword [esi + 0x22c]
test eax, eax
jne 0x433cb7
push ecx
mov ecx, esp
mov dword [ebp - 0x20], esp
push str.PackageTitle
call fcn.00403320
push ecx
mov byte [ebp - 4], 2
mov ecx, esp
mov dword [ebp - 0x28], esp
push str.DiscInfo
call fcn.00403320
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x30], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea edx, [ebp - 0x24]
mov dword [edi], eax
push edx
mov byte [ebp - 4], bl
call fcn.00433760
lea ecx, [esi + 0xf8]
mov byte [ebp - 4], 5
push eax
mov dword [ebp - 0x20], ecx
call fcn.004037d0
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x433ae7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.DeviceID
call fcn.00403320
push ecx
mov byte [ebp - 4], 6
mov ecx, esp
mov dword [ebp - 0x2c], esp
push str.DiscInfo
call fcn.00403320
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x34], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
lea ecx, [esi + 0xfc]
push eax
mov byte [ebp - 4], 9
call fcn.004037d0
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x433b81
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.DriverName
call fcn.00403320
push ecx
mov byte [ebp - 4], 0xa
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.DiscInfo
call fcn.00403320
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
lea ecx, [esi + 0x100]
push eax
mov byte [ebp - 4], 0xd
call fcn.004037d0
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x433c1b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.EnsXmlName
call fcn.00403320
push ecx
mov byte [ebp - 4], 0xe
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.DiscInfo
call fcn.00403320
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
lea ecx, [esi + 0x118]
push eax
mov byte [ebp - 4], 0x11
call fcn.004037d0
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x433d02
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x433d02
lea edx, [esi + 0x230]
lea ecx, [esi + 0xf8]
push edx
mov dword [ebp - 0x20], ecx
call fcn.004037d0
lea eax, [esi + 0x234]
lea ecx, [esi + 0xfc]
push eax
call fcn.004037d0
lea edx, [esi + 0x238]
lea ecx, [esi + 0x100]
push edx
call fcn.004037d0
lea eax, [esi + 0x23c]
lea ecx, [esi + 0x118]
push eax
call fcn.004037d0
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.ProductID
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x12
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.DiscInfo
call fcn.00403320
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
lea ecx, [esi + 0x104]
push eax
mov byte [ebp - 4], 0x15
call fcn.004037d0
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x433d9c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.FLG_Group
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x16
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.DiscInfo
call fcn.00403320
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
mov eax, dword [eax]
push eax
call fcn.00552f48
mov dword [esi + 0x108], eax
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x433e34
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov dword [ebp - 0x34], esp
mov edi, esp
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.FLG_Edition
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x19
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.DiscInfo
call fcn.00403320
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov dword [ebp - 0x24], esp
push eax
call fcn.00403760
mov ecx, dword [ebp - 0x24]
add eax, 0x10
mov dword [ecx], eax
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov dword [ebp - 0x24], esp
push eax
call fcn.00403760
mov edx, dword [ebp - 0x24]
add esp, 4
add eax, 0x10
mov dword [edx], eax
push edi
mov byte [ebp - 4], bl
call fcn.00433760
xor eax, eax
call fcn.00411f90
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.FLG_Admin
mov dword [esi + 0x10c], eax
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x1c
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.DiscInfo
call fcn.00403320
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x1e
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
mov dword [edi], eax
lea eax, [ebp - 0x24]
push eax
mov byte [ebp - 4], bl
call fcn.00433760
push eax
push 0x5bb410
call fcn.004379d0
xor ecx, ecx
add esp, 8
test al, al
mov eax, dword [ebp - 0x24]
setne cl
add eax, 0xfffffff0
lea edx, [eax + 0xc]
mov dword [esi + 0x110], ecx
mov ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x433f57
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push 0x5bb414
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x1f
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.DiscInfo
call fcn.00403320
mov byte [ebp - 4], 0x20
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x21
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
mov eax, dword [eax]
push eax
call fcn.00552f48
mov dword [esi + 0x114], eax
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x433fef
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.FLG_PaperSize
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x22
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.DiscInfo
call fcn.00403320
mov byte [ebp - 4], 0x23
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x24
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
mov eax, dword [eax]
push eax
call fcn.00552f48
mov dword [esi + 0x12c], eax
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x434087
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.FLG_PaperSource
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x25
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.DiscInfo
call fcn.00403320
mov byte [ebp - 4], 0x26
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x27
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
mov eax, dword [eax]
push eax
call fcn.00552f48
mov dword [esi + 0x130], eax
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x43411f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.FLG_MediaType
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x28
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.DiscInfo
call fcn.00403320
mov byte [ebp - 4], 0x29
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x2a
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
mov eax, dword [eax]
push eax
call fcn.00552f48
mov dword [esi + 0x134], eax
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4341b7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.FLG_AddDrv
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x2b
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.DiscInfo
call fcn.00403320
mov byte [ebp - 4], 0x2c
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x2d
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
push eax
push 0x5bb410
call fcn.004379d0
xor edx, edx
add esp, 8
test al, al
mov eax, dword [ebp - 0x24]
setne dl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov dword [esi + 0x120], edx
mov edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43425b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.FLG_WEBINS
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x2e
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.DiscInfo
call fcn.00403320
mov byte [ebp - 4], 0x2f
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
lea ecx, [ebp - 0x24]
add esp, 4
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00413730
push eax
push 0x5bb410
call fcn.004379d0
xor edx, edx
add esp, 0x18
test al, al
mov eax, dword [ebp - 0x24]
setne dl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov dword [esi + 0x11c], edx
mov edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4342e5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esi + 0x22c], 0
je 0x4342f8
mov dword [esi + 0x11c], 0
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.ENS_Key
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x30
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.DiscInfo
call fcn.00403320
mov byte [ebp - 4], 0x31
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x32
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
lea ecx, [esi + 0x124]
push eax
mov byte [ebp - 4], 0x33
call fcn.004037d0
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x434392
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.ENP_Key
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x34
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.DiscInfo
call fcn.00403320
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
lea ecx, [esi + 0x128]
push eax
mov byte [ebp - 4], 0x37
call fcn.004037d0
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x43442c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.FLG_Wifi
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x38
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.HardwareInfo
call fcn.00403320
mov byte [ebp - 4], 0x39
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x3a
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
push eax
push 0x5bb410
call fcn.004379d0
xor edx, edx
add esp, 8
test al, al
mov eax, dword [ebp - 0x24]
setne dl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov dword [esi + 0xd4], edx
mov edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4344d0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.FLG_Ether
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x3b
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.HardwareInfo
call fcn.00403320
mov byte [ebp - 4], 0x3c
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x3d
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
push eax
push 0x5bb410
call fcn.004379d0
xor edx, edx
add esp, 8
test al, al
mov eax, dword [ebp - 0x24]
setne dl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov dword [esi + 0xe4], edx
mov edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x434574
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.FLG_Scanner
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x3e
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.HardwareInfo
call fcn.00403320
mov byte [ebp - 4], 0x3f
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x40
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
push eax
push 0x5bb410
call fcn.004379d0
xor edx, edx
add esp, 8
test al, al
mov eax, dword [ebp - 0x24]
setne dl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov dword [esi + 0xdc], edx
mov edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x434618
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.FLG_Direct
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x41
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.HardwareInfo
call fcn.00403320
mov byte [ebp - 4], 0x42
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x43
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
mov eax, dword [eax]
push eax
call fcn.00552f48
mov dword [esi + 0xe0], eax
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4346b0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.FLG_Panel
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x44
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.HardwareInfo
call fcn.00403320
mov byte [ebp - 4], 0x45
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x46
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
push eax
push 0x5bb410
call fcn.004379d0
xor edx, edx
add esp, 8
test al, al
mov eax, dword [ebp - 0x24]
setne dl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov dword [esi + 0xd8], edx
mov edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x434754
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.FLG_Connect
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x47
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.HardwareInfo
call fcn.00403320
mov byte [ebp - 4], 0x48
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x49
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
push eax
push 0x5bb410
call fcn.004379d0
xor edx, edx
add esp, 8
test al, al
mov eax, dword [ebp - 0x24]
setne dl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov dword [esi + 0xe8], edx
mov edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4347f8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.FLG_Fax
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x4a
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.HardwareInfo
call fcn.00403320
mov byte [ebp - 4], 0x4b
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x4c
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
push eax
push 0x5bb410
call fcn.004379d0
xor edx, edx
add esp, 8
test al, al
mov eax, dword [ebp - 0x24]
setne dl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov dword [esi + 0xec], edx
mov edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43489c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.FLG_InitTime
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x4d
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.HardwareInfo
call fcn.00403320
mov byte [ebp - 4], 0x4e
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x4f
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
mov eax, dword [eax]
push eax
call fcn.00552f48
mov dword [esi + 0xf0], eax
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x434934
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.FLG_IFSwitch
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x50
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.HardwareInfo
call fcn.00403320
mov byte [ebp - 4], 0x51
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x52
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
push eax
push 0x5bb410
call fcn.004379d0
xor edx, edx
add esp, 8
test al, al
mov eax, dword [ebp - 0x24]
setne dl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov dword [esi + 0xf4], edx
mov edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4349d8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.FLG_Latest
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x53
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.DefaultSetting
call fcn.00403320
mov byte [ebp - 4], 0x54
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x55
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
push eax
push 0x5bb410
call fcn.004379d0
xor edx, edx
add esp, 8
test al, al
mov eax, dword [ebp - 0x24]
setne dl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov dword [esi + 0x138], edx
mov edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x434a7c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.FLG_LatestHide
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x56
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.DefaultSetting
call fcn.00403320
mov byte [ebp - 4], 0x57
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x58
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
push eax
push 0x5bb410
call fcn.004379d0
xor edx, edx
add esp, 8
test al, al
mov eax, dword [ebp - 0x24]
setne dl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov dword [esi + 0x13c], edx
mov edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x434b20
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.FLG_Status
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x59
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.DefaultSetting
call fcn.00403320
mov byte [ebp - 4], 0x5a
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x5b
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
mov eax, dword [eax]
push eax
call fcn.00552f48
mov dword [esi + 0x140], eax
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x434bb8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.LinkCheckBox
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x5c
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.DefaultSetting
call fcn.00403320
mov byte [ebp - 4], 0x5d
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x5e
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
push eax
push 0x5bb410
call fcn.004379d0
xor edx, edx
add esp, 8
test al, al
mov eax, dword [ebp - 0x24]
setne dl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov dword [esi + 0x144], edx
mov edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x434c5c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.FLG_MinOS
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x5f
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.SystemRequirement
call fcn.00403320
mov byte [ebp - 4], 0x60
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x61
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
mov eax, dword [eax]
push eax
call fcn.00552f32
mov dword [esi + 0x14c], eax
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x434cf4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.FLG_ServerOS
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x62
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.SystemRequirement
call fcn.00403320
mov byte [ebp - 4], 0x63
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x64
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
push eax
push 0x5bb410
call fcn.004379d0
xor edx, edx
add esp, 8
test al, al
mov eax, dword [ebp - 0x24]
setne dl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov dword [esi + 0x150], edx
mov edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x434d98
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.NUM_FreeSpace
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x65
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.SystemRequirement
call fcn.00403320
mov byte [ebp - 4], 0x66
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 0x67
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
mov edi, esp
push eax
call fcn.00403760
add esp, 4
add eax, 0x10
lea ecx, [ebp - 0x24]
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00433760
mov eax, dword [eax]
push eax
call fcn.00552f32
mov dword [esi + 0x148], eax
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
add esp, 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x434e30
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.DriverVer
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x68
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.Version
call fcn.00403320
mov byte [ebp - 4], 0x69
mov eax, dword [ebp - 0x14]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
lea ecx, [ebp - 0x18]
add esp, 4
mov dword [edi], eax
push ecx
mov byte [ebp - 4], bl
call fcn.00413730
add esp, 0x10
mov byte [ebp - 4], 0x6a
mov edx, dword [ebp - 0x18]
cmp dword [edx - 0xc], 0
je 0x434e97
lea eax, [ebp - 0x14]
push eax
jmp 0x434f26
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.DriverVer
call fcn.00403320
push ecx
mov byte [ebp - 4], 0x6b
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.Version
call fcn.00403320
mov byte [ebp - 4], 0x6c
mov eax, dword [ebp - 0x10]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x2c], esp
mov edi, esp
push eax
call fcn.00403760
add eax, 0x10
lea ecx, [ebp - 0x24]
add esp, 4
mov dword [edi], eax
push ecx
mov byte [ebp - 4], 0x6a
call fcn.00413730
add esp, 0x10
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x6d
call fcn.004037d0
mov byte [ebp - 4], 0x6a
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x434f19
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x18]
cmp dword [ecx - 0xc], 0
je 0x434f31
lea edx, [ebp - 0x10]
push edx
lea ecx, [esi + 0x154]
call fcn.004037d0
lea eax, [ebp - 0x18]
lea ecx, [esi + 0x158]
push eax
call fcn.004037d0
cmp dword [esi + 0x22c], 0
jne 0x434f63
mov ecx, dword [esi + 0x140]
mov edx, dword [esi + 0x138]
mov dword [esi + 0x1d4], ecx
mov dword [esi + 0x1d0], edx
jmp 0x434f75
mov eax, dword [esi + 0x224]
mov dword [esi + 0x1d4], eax
mov dword [esi + 0x1d0], ebx
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
cmp dword [edx - 0xc], 0
je 0x434f83
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x434fa5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x434fc8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x434fee
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebx
mov esp, ebp
pop ebp
ret