Function at 0x41dc70
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59a2ac
mov eax, dword fs:[0]
push eax
sub esp, 0x1a0
mov eax, dword [0x60cff4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x1ac]
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x158], edi
call fcn.00410920
mov ebx, dword [ebp - 0x160]
mov ecx, 0x61644c
push ebx
mov dword [ebp - 4], 0
call fcn.00407780
test eax, eax
jns 0x41de2f
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420d6f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push 0x5e2d2c
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 1
call fcn.004059a0
test al, al
jne 0x41dd22
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x154]
call fcn.004060b0
mov byte [ebp - 4], 2
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420d6f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e3a30
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 3
call fcn.004059a0
test al, al
jne 0x41dd6d
push 3
push 0x5e3a30
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 4
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420d79
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push str.03001
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 5
call fcn.004059a0
test al, al
jne 0x41ddb8
push 5
push str.03001
lea ecx, [ebp - 0x15c]
call fcn.004060b0
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x15c]
push eax
call fcn.0040c290
mov byte [ebp - 4], 4
or edi, 0xffffffff
mov edx, dword [ebp - 0x15c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41ddff
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 2
mov eax, edi
mov edx, dword [ebp - 0x158]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41de20
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x154]
jmp 0x420b19
push ebx
call fcn.00407890
cmp eax, 0xfffffffc
jne 0x41df6b
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420d6f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 7
call fcn.004059a0
test al, al
jne 0x41de85
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 8
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420d83
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e7140
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 9
call fcn.004059a0
test al, al
jne 0x41ded0
push 3
push 0x5e7140
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0xa
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420d8d
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03002
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0xb
call fcn.004059a0
test al, al
jne 0x41df1b
push 5
push str.03002
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0xa
or edi, 0xffffffff
mov edx, dword [ebp - 0x154]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41df62
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 8
jmp 0x420af2
test eax, eax
jns 0x41e0a0
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420d6f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0xd
call fcn.004059a0
test al, al
jne 0x41dfba
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0xe
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420d97
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e3a30
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0xf
call fcn.004059a0
test al, al
jne 0x41e005
push 3
push 0x5e3a30
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0x10
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420da1
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03003
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x11
call fcn.004059a0
test al, al
jne 0x41e050
push 5
push str.03003
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x12
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0x10
or edi, 0xffffffff
mov edx, dword [ebp - 0x154]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41e097
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xe
jmp 0x420af2
push 0
push str._PJL_INFO_BRFIRMWARE
push ebx
call fcn.00407da0
test eax, eax
jns 0x41e1e2
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420d6f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x13
call fcn.004059a0
test al, al
jne 0x41e0fc
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0x14
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420dab
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e7140
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x15
call fcn.004059a0
test al, al
jne 0x41e147
push 3
push 0x5e7140
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0x16
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420db5
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03004
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x17
call fcn.004059a0
test al, al
jne 0x41e192
push 5
push str.03004
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0x16
or edi, 0xffffffff
mov edx, dword [ebp - 0x154]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41e1d9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x14
jmp 0x420af2
lea ecx, [ebp - 0x1ac]
call fcn.00405e50
lea ecx, [ebp - 0x1a8]
call fcn.00405e50
lea ecx, [ebp - 0x1a4]
call fcn.00405e50
lea ecx, [ebp - 0x1a0]
call fcn.00405e50
lea ecx, [ebp - 0x19c]
call fcn.00405e50
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x198]
call fcn.004370aa
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x184]
call fcn.004370aa
lea ecx, [ebp - 0x170]
call fcn.00405e50
lea ecx, [ebp - 0x16c]
call fcn.00405e50
lea ecx, [ebp - 0x168]
call fcn.00405e50
lea ecx, [ebp - 0x1ac]
call fcn.00408020
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x420d6f
mov eax, dword [ebp - 0x1a4]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41e29d
test dx, dx
je 0x41e299
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41e29d
add eax, 4
add ecx, 4
test dx, dx
jne 0x41e277
xor eax, eax
jmp 0x41e2a2
sbb eax, eax
or eax, 1
test eax, eax
je 0x41e3d7
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420d6f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x19
call fcn.004059a0
test al, al
jne 0x41e2f1
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0x1a
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420dbf
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e71f0
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x1b
call fcn.004059a0
test al, al
jne 0x41e33c
push 3
push 0x5e71f0
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0x1c
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420dc9
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03005
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x1d
call fcn.004059a0
test al, al
jne 0x41e387
push 5
push str.03005
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x1e
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0x1c
or edi, 0xffffffff
mov edx, dword [ebp - 0x154]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41e3ce
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1a
jmp 0x420af2
mov eax, dword [ebp - 0x17c]
xor esi, esi
test eax, eax
jle 0x41e415
test esi, esi
js 0x420df1
cmp esi, eax
jge 0x420df1
mov eax, dword [ebp - 0x180]
mov edx, str.CANNOT_FIND_ROCKET
lea ecx, [eax + esi*4]
call fcn.0040a050
test al, al
jne 0x41e488
mov eax, dword [ebp - 0x17c]
inc esi
cmp esi, eax
jl 0x41e3e3
mov esi, dword [ebp - 0x160]
push esi
call fcn.00407a80
test eax, eax
jns 0x41e688
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420d6f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x25
call fcn.004059a0
test al, al
jne 0x41e470
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0x26
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420dd3
jmp 0x41e5b5
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420d6f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x1f
call fcn.004059a0
test al, al
jne 0x41e4cf
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0x20
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ddd
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e7160
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x21
call fcn.004059a0
test al, al
jne 0x41e51a
push 3
push 0x5e7160
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0x22
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420de7
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03007
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x23
call fcn.004059a0
test al, al
jne 0x41e565
push 5
push str.03007
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x24
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0x22
or edi, 0xffffffff
mov edx, dword [ebp - 0x154]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41e5ac
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x20
jmp 0x420af2
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e7198
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x27
call fcn.004059a0
test al, al
jne 0x41e5ed
push 3
push 0x5e7198
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0x28
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420df6
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03006
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x29
call fcn.004059a0
test al, al
jne 0x41e638
push 5
push str.03006
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x2a
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0x28
or edi, 0xffffffff
mov edx, dword [ebp - 0x154]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41e67f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x26
jmp 0x420af2
mov eax, dword [edi + 4]
or edi, 0xffffffff
cmp dword [eax - 0xc], 0
je 0x41fe66
push esi
mov ecx, 0x61644c
call fcn.00407980
test eax, eax
jns 0x41e7ff
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420d6f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x2b
call fcn.004059a0
test al, al
jne 0x41e6f2
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0x2c
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420e00
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e712c
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x2d
call fcn.004059a0
test al, al
jne 0x41e73d
push 3
push 0x5e712c
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0x2e
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420e0a
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03101
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x2f
call fcn.004059a0
test al, al
jne 0x41e788
push 5
push str.03101
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x30
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0x2e
or edi, 0xffffffff
mov edx, dword [ebp - 0x154]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41e7cf
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x2c
mov eax, edi
mov edx, dword [ebp - 0x158]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41e7f0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x15c]
jmp 0x420d1d
push esi
mov ecx, 0x61644c
call fcn.00407780
test eax, eax
jns 0x41e96a
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420d6f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x31
call fcn.004059a0
test al, al
jne 0x41e859
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0x32
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420e14
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e3a30
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x33
call fcn.004059a0
test al, al
jne 0x41e8a4
push 3
push 0x5e3a30
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0x34
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420e1e
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03102
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x35
call fcn.004059a0
test al, al
jne 0x41e8ef
push 5
push str.03102
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x36
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0x34
or edi, 0xffffffff
mov edx, dword [ebp - 0x154]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41e936
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x32
mov eax, edi
mov edx, dword [ebp - 0x158]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41e7f0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x15c]
jmp 0x420d1d
push esi
call fcn.00407890
cmp eax, 0xfffffffc
jne 0x41eaa6
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420d6f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x37
call fcn.004059a0
test al, al
jne 0x41e9c0
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0x38
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420e28
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e7140
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x39
call fcn.004059a0
test al, al
jne 0x41ea0b
push 3
push 0x5e7140
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0x3a
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420e32
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03103
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x3b
call fcn.004059a0
test al, al
jne 0x41ea56
push 5
push str.03103
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x3c
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0x3a
or edi, 0xffffffff
mov edx, dword [ebp - 0x154]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41ea9d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x38
jmp 0x420af2
test eax, eax
jns 0x41ebdb
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420d6f
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x3d
call fcn.004059a0
test al, al
jne 0x41eaf5
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0x3e
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420e3c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e3a30
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x3f
call fcn.004059a0
test al, al
jne 0x41eb40
push 3
push 0x5e3a30
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0x40
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420e46
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03104
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x41
call fcn.004059a0
test al, al
jne 0x41eb8b
push 5
push str.03104
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x42
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0x40
or edi, 0xffffffff
mov edx, dword [ebp - 0x154]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41ebd2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x3e
jmp 0x420af2
push esi
call fcn.00407a80
test eax, eax
jns 0x41ed16
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ffe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x43
call fcn.004059a0
test al, al
jne 0x41ec30
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0x44
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420e50
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e7198
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x45
call fcn.004059a0
test al, al
jne 0x41ec7b
push 3
push 0x5e7198
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0x46
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420e5a
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03105
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x47
call fcn.004059a0
test al, al
jne 0x41ecc6
push 5
push str.03105
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x48
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0x46
or edi, 0xffffffff
mov edx, dword [ebp - 0x154]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41ed0d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x44
jmp 0x420af2
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ebx, dword [ebp - 0x158]
mov ebx, dword [ebx + 4]
test ebx, ebx
je 0x41ed83
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41ed33
sub ecx, edx
sar ecx, 1
inc ecx
cmp ecx, 0x3fffffff
jg 0x41ed83
lea eax, [ecx + ecx]
mov dword [ebp - 0x154], eax
call fcn.0056e950
mov esi, esp
test esi, esi
je 0x41ed83
push 0
push 0
push dword [ebp - 0x154]
mov byte [esi], 0
push esi
push 0xffffffffffffffff
push ebx
push 0
push 3
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
xor ecx, ecx
test eax, eax
cmove esi, ecx
jmp 0x41ed85
xor esi, esi
push esi
push str._PJL_SET_BRFIRMMEMVER__s_
lea eax, [ebp - 0x150]
push 0x100
push eax
call fcn.00422e40
add esp, 0x10
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ffe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.data2.dat
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x49
call fcn.004059a0
test al, al
jne 0x41ede6
push 9
push str.data2.dat
lea ecx, [ebp - 0x154]
call fcn.004060b0
mov ebx, dword [ebp - 0x160]
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 0x4a
push eax
push ebx
call fcn.00408660
mov byte [ebp - 4], 0
mov esi, eax
mov edx, dword [ebp - 0x154]
mov ecx, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x41ee27
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test esi, esi
jns 0x41ef59
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ffe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x4b
call fcn.004059a0
test al, al
jne 0x41ee76
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0x4c
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420e64
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e7140
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x4d
call fcn.004059a0
test al, al
jne 0x41eec1
push 3
push 0x5e7140
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0x4e
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420e6e
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03107
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x4f
call fcn.004059a0
test al, al
jne 0x41ef0c
push 5
push str.03107
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x50
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0x4e
mov eax, edi
mov edx, dword [ebp - 0x154]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41ef50
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x4c
jmp 0x420af2
push 0
push str._PJL_INFO_BRFIRMREADY
push ebx
call fcn.00407da0
cmp eax, 0xffffffef
jne 0x41f099
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ffe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x51
call fcn.004059a0
test al, al
jne 0x41efb6
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0x52
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420e78
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e712c
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x53
call fcn.004059a0
test al, al
jne 0x41f001
push 3
push 0x5e712c
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0x54
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420e82
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03108
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x55
call fcn.004059a0
test al, al
jne 0x41f04c
push 5
push str.03108
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x56
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0x54
mov eax, edi
mov edx, dword [ebp - 0x154]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41f090
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x52
jmp 0x420af2
test eax, eax
jns 0x41f1cb
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ffe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x57
call fcn.004059a0
test al, al
jne 0x41f0e8
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0x58
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420e8c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e7140
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x59
call fcn.004059a0
test al, al
jne 0x41f133
push 3
push 0x5e7140
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0x5a
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420e96
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03109
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x5b
call fcn.004059a0
test al, al
jne 0x41f17e
push 5
push str.03109
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x5c
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0x5a
mov eax, edi
mov edx, dword [ebp - 0x154]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41f1c2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x58
jmp 0x420af2
lea ecx, [ebp - 0x1ac]
call fcn.00405e50
lea ecx, [ebp - 0x1a8]
call fcn.00405e50
lea ecx, [ebp - 0x1a4]
call fcn.00405e50
lea ecx, [ebp - 0x1a0]
call fcn.00405e50
lea ecx, [ebp - 0x19c]
call fcn.00405e50
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x198]
call fcn.004370aa
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x184]
call fcn.004370aa
lea ecx, [ebp - 0x170]
call fcn.00405e50
lea ecx, [ebp - 0x16c]
call fcn.00405e50
lea ecx, [ebp - 0x168]
call fcn.00405e50
lea ecx, [ebp - 0x1ac]
call fcn.00408020
mov edx, str._PJL_INFO_BRFIRMREADY
lea ecx, [ebp - 0x1ac]
call fcn.00422890
test al, al
je 0x41f38e
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ffe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x5d
call fcn.004059a0
test al, al
jne 0x41f2ab
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0x5e
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ea0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e712c
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x5f
call fcn.004059a0
test al, al
jne 0x41f2f6
push 3
push 0x5e712c
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0x60
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420eaa
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03110
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x61
call fcn.004059a0
test al, al
jne 0x41f341
push 5
push str.03110
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x62
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0x60
mov eax, edi
mov edx, dword [ebp - 0x154]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41f385
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x5e
jmp 0x420af2
mov eax, dword [ebp - 0x1a8]
mov ecx, 0x5e72ac
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41f3c6
test dx, dx
je 0x41f3c2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41f3c6
add eax, 4
add ecx, 4
test dx, dx
jne 0x41f3a0
xor eax, eax
jmp 0x41f3cb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41fbca
mov eax, dword [ebp - 0x158]
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x41f435
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41f3e5
sub ecx, edx
sar ecx, 1
inc ecx
cmp ecx, 0x3fffffff
jg 0x41f435
lea eax, [ecx + ecx]
mov dword [ebp - 0x154], eax
call fcn.0056e950
mov esi, esp
test esi, esi
je 0x41f435
push 0
push 0
push dword [ebp - 0x154]
mov byte [esi], 0
push esi
push 0xffffffffffffffff
push ebx
push 0
push 3
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
xor ecx, ecx
test eax, eax
cmove esi, ecx
jmp 0x41f437
xor esi, esi
push esi
push str.MEMVER__s_
lea eax, [ebp - 0x50]
push 0x40
push eax
call fcn.00422e40
lea eax, [ebp - 0x50]
push eax
push str._PJL_INFO_BRFIRMCHECK
push str._s_r_n_s
lea eax, [ebp - 0x150]
push 0x100
push eax
call fcn.00422e40
add esp, 0x24
lea eax, [ebp - 0x150]
push 1
push eax
push dword [ebp - 0x160]
call fcn.00407da0
cmp eax, 0xffffffef
jne 0x41f5b1
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ffe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x63
call fcn.004059a0
test al, al
jne 0x41f4ce
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0x64
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420eb4
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e712c
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x65
call fcn.004059a0
test al, al
jne 0x41f519
push 3
push 0x5e712c
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0x66
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ebe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03111
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x67
call fcn.004059a0
test al, al
jne 0x41f564
push 5
push str.03111
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x68
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0x66
mov eax, edi
mov edx, dword [ebp - 0x154]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41f5a8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x64
jmp 0x420af2
test eax, eax
jns 0x41f6e3
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ffe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x69
call fcn.004059a0
test al, al
jne 0x41f600
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0x6a
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ec8
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e7140
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x6b
call fcn.004059a0
test al, al
jne 0x41f64b
push 3
push 0x5e7140
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0x6c
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ed2
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03112
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x6d
call fcn.004059a0
test al, al
jne 0x41f696
push 5
push str.03112
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x6e
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0x6c
mov eax, edi
mov edx, dword [ebp - 0x154]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41f6da
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x6a
jmp 0x420af2
lea ecx, [ebp - 0x1ac]
call fcn.00405e50
lea ecx, [ebp - 0x1a8]
call fcn.00405e50
lea ecx, [ebp - 0x1a4]
call fcn.00405e50
lea ecx, [ebp - 0x1a0]
call fcn.00405e50
lea ecx, [ebp - 0x19c]
call fcn.00405e50
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x198]
call fcn.004370aa
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x184]
call fcn.004370aa
lea ecx, [ebp - 0x170]
call fcn.00405e50
lea ecx, [ebp - 0x16c]
call fcn.00405e50
lea ecx, [ebp - 0x168]
call fcn.00405e50
lea ecx, [ebp - 0x1ac]
call fcn.00408020
mov edx, str._PJL_INFO_BRFIRMCHECK
lea ecx, [ebp - 0x1ac]
call fcn.00422890
test al, al
je 0x41f8a6
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ffe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x6f
call fcn.004059a0
test al, al
jne 0x41f7c3
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0x70
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420edc
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e712c
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x71
call fcn.004059a0
test al, al
jne 0x41f80e
push 3
push 0x5e712c
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0x72
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ee6
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03113
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x73
call fcn.004059a0
test al, al
jne 0x41f859
push 5
push str.03113
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x74
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0x72
mov eax, edi
mov edx, dword [ebp - 0x154]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41f89d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x70
jmp 0x420af2
mov eax, dword [ebp - 0x1a8]
mov ecx, 0x5e72ac
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41f8d7
test dx, dx
je 0x41f8d3
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41f8d7
add eax, 4
add ecx, 4
test dx, dx
jne 0x41f8b1
xor eax, eax
jmp 0x41f8dc
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41fa0e
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ffe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x75
call fcn.004059a0
test al, al
jne 0x41f92b
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0x76
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ef0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e7304
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x77
call fcn.004059a0
test al, al
jne 0x41f976
push 3
push 0x5e7304
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0x78
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420efa
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03114
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x79
call fcn.004059a0
test al, al
jne 0x41f9c1
push 5
push str.03114
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x7a
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0x78
mov eax, edi
mov edx, dword [ebp - 0x154]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41fa05
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x76
jmp 0x420af2
mov edx, dword [ebp - 0x168]
mov esi, dword [edx - 0xc]
test esi, esi
js 0x420ff4
mov eax, dword [edx - 8]
mov ecx, 1
sub ecx, dword [edx - 4]
sub eax, esi
or eax, ecx
jge 0x41fa42
push esi
lea ecx, [ebp - 0x168]
call fcn.00405f70
mov edx, dword [ebp - 0x168]
lea eax, [esi + 1]
push eax
push edx
call fcn.005792eb
mov eax, dword [ebp - 0x168]
add esp, 8
cmp esi, dword [eax - 8]
jg 0x420ff4
mov dword [eax - 0xc], esi
xor ecx, ecx
mov eax, dword [ebp - 0x168]
mov word [eax + esi*2], cx
mov eax, dword [ebp - 0x168]
cmp dword [eax - 0xc], ecx
jl 0x420ca9
push str.FALSE
push eax
call fcn.005709eb
add esp, 8
test eax, eax
je 0x420ca9
sub eax, dword [ebp - 0x168]
sar eax, 1
js 0x420ca9
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ffe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x7b
call fcn.004059a0
test al, al
jne 0x41fae7
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0x7c
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420f04
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e7140
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x7d
call fcn.004059a0
test al, al
jne 0x41fb32
push 3
push 0x5e7140
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0x7e
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420f0e
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03115
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x7f
call fcn.004059a0
test al, al
jne 0x41fb7d
push 5
push str.03115
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x80
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0x7e
mov eax, edi
mov edx, dword [ebp - 0x154]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41fbc1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x7c
jmp 0x420af2
mov edx, dword [ebp - 0x168]
mov esi, dword [edx - 0xc]
test esi, esi
js 0x420ff4
mov eax, dword [edx - 8]
mov ecx, 1
sub ecx, dword [edx - 4]
sub eax, esi
or eax, ecx
jge 0x41fbfe
push esi
lea ecx, [ebp - 0x168]
call fcn.00405f70
mov edx, dword [ebp - 0x168]
lea eax, [esi + 1]
push eax
push edx
call fcn.005792eb
mov eax, dword [ebp - 0x168]
add esp, 8
cmp esi, dword [eax - 8]
jg 0x420ff4
mov dword [eax - 0xc], esi
xor ecx, ecx
mov eax, dword [ebp - 0x168]
mov word [eax + esi*2], cx
mov eax, dword [ebp - 0x168]
cmp dword [eax - 0xc], ecx
jl 0x420ca9
push str.FALSE
push eax
call fcn.005709eb
add esp, 8
test eax, eax
je 0x420ca9
sub eax, dword [ebp - 0x168]
sar eax, 1
js 0x420ca9
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ffe
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x154], esi
mov byte [ebp - 4], 0x81
mov ecx, dword [ebp - 0x168]
cmp dword [ecx - 0xc], 0xf
jl 0x41fd50
mov ecx, dword [ecx - 0x10]
test ecx, ecx
je 0x41fc9d
mov eax, dword [ecx]
call dword [eax + 0x10]
test eax, eax
jne 0x41fca9
call fcn.00433b0d
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x10]
push eax
mov eax, dword [ebp - 0x168]
lea ecx, [ebp - 0x158]
push 8
add eax, 0xc
push eax
call fcn.00409900
mov byte [ebp - 4], 0x82
lea edx, [esi - 0x10]
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x15c], edx
lea ebx, [eax - 0x10]
cmp ebx, edx
je 0x41fd38
cmp dword [edx + 0xc], 0
lea esi, [edx + 0xc]
jl 0x41fd23
mov ecx, dword [ebx]
cmp ecx, dword [edx]
jne 0x41fd23
push ebx
call fcn.00406350
add esp, 4
mov dword [ebp - 0x164], eax
mov ecx, edi
lock xadd dword [esi], ecx
dec ecx
test ecx, ecx
jg 0x41fd18
mov esi, dword [ebp - 0x15c]
push esi
mov ecx, dword [esi]
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x164]
lea esi, [eax + 0x10]
mov dword [ebp - 0x154], esi
jmp 0x41fd38
push dword [eax - 0xc]
lea ecx, [ebp - 0x154]
push eax
call fcn.004060b0
mov esi, dword [ebp - 0x154]
mov byte [ebp - 4], 0x81
mov eax, edi
lock xadd dword [ebx + 0xc], eax
dec eax
test eax, eax
jg 0x41fd50
mov ecx, dword [ebx]
push ebx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420f18
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e7330
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x83
call fcn.004059a0
test al, al
jne 0x41fd97
push 3
push 0x5e7330
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0x84
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420f22
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push str.03116
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x85
call fcn.004059a0
test al, al
jne 0x41fde2
push 5
push str.03116
lea ecx, [ebp - 0x158]
call fcn.004060b0
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 0x86
push eax
lea eax, [ebp - 0x15c]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x158]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0x84
mov eax, edi
mov edx, dword [ebp - 0x158]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41fe26
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x81
mov eax, edi
mov edx, dword [ebp - 0x15c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41fe47
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x420b30
mov ecx, dword [esi]
push esi
jmp 0x420b2b
mov eax, dword [ebx + 0x40]
mov ecx, 0x5e7344
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41fe96
test dx, dx
je 0x41fe92
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41fe96
add eax, 4
add ecx, 4
test dx, dx
jne 0x41fe70
xor eax, eax
jmp 0x41fe9b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x420ca9
push esi
mov ecx, 0x61644c
call fcn.00407980
test eax, eax
jns 0x42000e
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ffe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x87
call fcn.004059a0
test al, al
jne 0x41fefd
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0x88
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420f2c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e712c
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x89
call fcn.004059a0
test al, al
jne 0x41ff48
push 3
push 0x5e712c
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0x8a
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420f36
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03201
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x8b
call fcn.004059a0
test al, al
jne 0x41ff93
push 5
push str.03201
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x8c
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0x8a
or edi, 0xffffffff
mov edx, dword [ebp - 0x154]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41ffda
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x88
mov eax, edi
mov edx, dword [ebp - 0x158]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41e7f0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x15c]
jmp 0x420d1d
push esi
mov ecx, 0x61644c
call fcn.00407780
test eax, eax
jns 0x42014e
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ffe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x8d
call fcn.004059a0
test al, al
jne 0x420068
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0x8e
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420f40
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e3a30
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x8f
call fcn.004059a0
test al, al
jne 0x4200b3
push 3
push 0x5e3a30
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0x90
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420f4a
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03202
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x91
call fcn.004059a0
test al, al
jne 0x4200fe
push 5
push str.03202
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x92
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0x90
or edi, 0xffffffff
mov edx, dword [ebp - 0x154]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x420145
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x8e
jmp 0x420af2
push esi
call fcn.00407890
cmp eax, 0xfffffffc
jne 0x42028a
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ffe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x93
call fcn.004059a0
test al, al
jne 0x4201a4
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0x94
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420f54
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e7140
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x95
call fcn.004059a0
test al, al
jne 0x4201ef
push 3
push 0x5e7140
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0x96
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420f5e
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03203
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x97
call fcn.004059a0
test al, al
jne 0x42023a
push 5
push str.03203
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x98
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0x96
or edi, 0xffffffff
mov edx, dword [ebp - 0x154]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x420281
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x94
jmp 0x420af2
test eax, eax
jns 0x4203bf
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ffe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x99
call fcn.004059a0
test al, al
jne 0x4202d9
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0x9a
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420f68
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e3a30
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x9b
call fcn.004059a0
test al, al
jne 0x420324
push 3
push 0x5e3a30
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0x9c
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420f72
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03204
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x9d
call fcn.004059a0
test al, al
jne 0x42036f
push 5
push str.03204
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x9e
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0x9c
or edi, 0xffffffff
mov edx, dword [ebp - 0x154]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4203b6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x9a
jmp 0x420af2
push esi
call fcn.00407a80
test eax, eax
jns 0x4204fa
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ffe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x9f
call fcn.004059a0
test al, al
jne 0x420414
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0xa0
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420f7c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e7198
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0xa1
call fcn.004059a0
test al, al
jne 0x42045f
push 3
push 0x5e7198
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0xa2
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420f86
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03205
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0xa3
call fcn.004059a0
test al, al
jne 0x4204aa
push 5
push str.03205
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0xa4
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0xa2
or edi, 0xffffffff
mov edx, dword [ebp - 0x154]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4204f1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa0
jmp 0x420af2
push 0
push str._PJL_INFO_BRFIRMSTART
push esi
call fcn.00407da0
cmp eax, 0xffffffef
jne 0x42063d
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ffe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0xa5
call fcn.004059a0
test al, al
jne 0x420557
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0xa6
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420f90
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e712c
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0xa7
call fcn.004059a0
test al, al
jne 0x4205a2
push 3
push 0x5e712c
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0xa8
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420f9a
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03206
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0xa9
call fcn.004059a0
test al, al
jne 0x4205ed
push 5
push str.03206
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0xaa
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0xa8
or edi, 0xffffffff
mov edx, dword [ebp - 0x154]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x420634
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xa6
jmp 0x420af2
test eax, eax
jns 0x420772
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ffe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0xab
call fcn.004059a0
test al, al
jne 0x42068c
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0xac
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420fa4
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e7140
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0xad
call fcn.004059a0
test al, al
jne 0x4206d7
push 3
push 0x5e7140
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0xae
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420fae
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03207
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0xaf
call fcn.004059a0
test al, al
jne 0x420722
push 5
push str.03207
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0xb0
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0xae
or edi, 0xffffffff
mov edx, dword [ebp - 0x154]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x420769
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xac
jmp 0x420af2
lea ecx, [ebp - 0x1ac]
call fcn.00405e50
lea ecx, [ebp - 0x1a8]
call fcn.00405e50
lea ecx, [ebp - 0x1a4]
call fcn.00405e50
lea ecx, [ebp - 0x1a0]
call fcn.00405e50
lea ecx, [ebp - 0x19c]
call fcn.00405e50
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x198]
call fcn.004370aa
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x184]
call fcn.004370aa
lea ecx, [ebp - 0x170]
call fcn.00405e50
lea ecx, [ebp - 0x16c]
call fcn.00405e50
lea ecx, [ebp - 0x168]
call fcn.00405e50
lea ecx, [ebp - 0x1ac]
call fcn.00408020
mov edx, str._PJL_INFO_BRFIRMSTART
lea ecx, [ebp - 0x1ac]
call fcn.00422890
test al, al
je 0x420938
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ffe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0xb1
call fcn.004059a0
test al, al
jne 0x420852
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0xb2
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420fb8
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e712c
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0xb3
call fcn.004059a0
test al, al
jne 0x42089d
push 3
push 0x5e712c
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0xb4
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420fc2
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03208
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0xb5
call fcn.004059a0
test al, al
jne 0x4208e8
push 5
push str.03208
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0xb6
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0xb4
or edi, 0xffffffff
mov edx, dword [ebp - 0x154]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x42092f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb2
jmp 0x420af2
mov edx, dword [ebp - 0x168]
mov esi, dword [edx - 0xc]
test esi, esi
js 0x420ff4
mov eax, dword [edx - 8]
mov ecx, 1
sub ecx, dword [edx - 4]
sub eax, esi
or eax, ecx
jge 0x42096c
push esi
lea ecx, [ebp - 0x168]
call fcn.00405f70
mov edx, dword [ebp - 0x168]
lea eax, [esi + 1]
push eax
push edx
call fcn.005792eb
mov eax, dword [ebp - 0x168]
add esp, 8
cmp esi, dword [eax - 8]
jg 0x420ff4
mov dword [eax - 0xc], esi
xor ecx, ecx
mov eax, dword [ebp - 0x168]
mov word [eax + esi*2], cx
mov eax, dword [ebp - 0x168]
cmp dword [eax - 0xc], ecx
jl 0x420ca9
push str.FALSE
push eax
call fcn.005709eb
add esp, 8
test eax, eax
je 0x420ca9
sub eax, dword [ebp - 0x168]
sar eax, 1
js 0x420ca9
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ffe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0xb7
call fcn.004059a0
test al, al
jne 0x420a11
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0xb8
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420fcc
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e7140
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0xb9
call fcn.004059a0
test al, al
jne 0x420a5c
push 3
push 0x5e7140
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0xba
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420fd6
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.03209
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0xbb
call fcn.004059a0
test al, al
jne 0x420aa7
push 5
push str.03209
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0xbc
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0xba
or edi, 0xffffffff
mov edx, dword [ebp - 0x154]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x420aee
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb8
mov edx, dword [ebp - 0x158]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x420b0f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x15c]
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x420b30
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0x160]
mov ecx, 0x61644c
call fcn.00407980
test eax, eax
jns 0x420d32
mov eax, dword [0x616510]
cmp dword [eax - 0xc], 0
jne 0x420d32
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ffe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x15c], eax
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0xbf
call fcn.004059a0
test al, al
jne 0x420b9e
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x15c]
call fcn.004060b0
mov byte [ebp - 4], 0xc0
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420fe0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x158], eax
push 0x5e712c
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0xc1
call fcn.004059a0
test al, al
jne 0x420be9
push 3
push 0x5e712c
lea ecx, [ebp - 0x158]
call fcn.004060b0
mov byte [ebp - 4], 0xc2
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420fea
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push 0x5e2d2c
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0xc3
call fcn.004059a0
test al, al
jne 0x420c34
push 0
push 0x5e2d2c
lea ecx, [ebp - 0x154]
call fcn.004060b0
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0xc4
push eax
lea eax, [ebp - 0x158]
mov ecx, 0x61649c
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.0040c290
mov byte [ebp - 4], 0xc2
mov eax, edi
mov edx, dword [ebp - 0x154]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x420c78
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xc0
mov eax, edi
mov edx, dword [ebp - 0x158]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41e7f0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x15c]
jmp 0x420d1d
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00433b0d
mov ecx, eax
test ecx, ecx
je 0x420ffe
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x154], eax
push str.data.dat
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0xbd
call fcn.004059a0
test al, al
jne 0x420cfb
push 8
push str.data.dat
lea ecx, [ebp - 0x154]
call fcn.004060b0
push 0
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 0xbe
push eax
push dword [ebp - 0x160]
call fcn.00408660
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x154]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg 0x420d32
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x616510]
lea ecx, [ebp - 0x1ac]
mov esi, dword [eax - 0xc]
call fcn.0040fe30
neg esi
sbb esi, esi
mov eax, esi
lea esp, [ebp - 0x1bc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0056e21e
mov esp, ebp
pop ebp
ret 0xc
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
call fcn.00433611
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80004005
call fcn.00406290
push 0x80070057
call fcn.00406290
push 0x80004005
call fcn.00406290
int3