Function at 0x450440
Capabilities:
Check for time delay via gettickcount
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x14fc
call fcn.0045ec70
push ebx
mov ebx, dword [esp + 0x1504]
push ebp
push esi
lea eax, [ebx + ebx*2]
push edi
mov dword [esp + 0x94], 0
lea eax, [eax + eax*8]
lea eax, [ebx + eax*8]
lea ecx, [eax + eax*2]
lea eax, [ebx + ecx*2]
lea edi, [eax + eax*4]
lea eax, [ebx + ebx*2]
shl edi, 5
lea edx, [eax + eax*8]
mov dword [esp + 0x18], edi
mov ebp, dword [edi + 0x6728cc]
lea eax, [ebx + edx*8]
mov edx, dword [esp + 0x1514]
neg ebp
lea eax, [eax + eax*2]
sbb ebp, ebp
lea eax, [ebx + eax*2]
and ebp, 2
lea ecx, [eax + eax*4]
lea esi, [edx + ecx*8]
shl esi, 2
mov dword [esp + 0x10], esi
mov eax, dword [esi + 0x673cf8]
test eax, eax
je 0x4506c4
mov dword [esp + 0x34], str.OZKS
lea eax, [edi + 0x6439f7]
mov cl, byte [eax]
mov edx, dword [esp + 0x34]
mov byte [esp + 0x3a], cl
cmp cl, byte [edx]
jne 0x4504f5
test cl, cl
je 0x4504f1
mov cl, byte [eax + 1]
mov byte [esp + 0x3a], cl
cmp cl, byte [edx + 1]
jne 0x4504f5
add eax, 2
add edx, 2
test cl, cl
mov dword [esp + 0x34], edx
jne 0x4504c5
xor eax, eax
jmp 0x4504fa
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4506c4
mov eax, dword [esi + 0x6751bc]
test eax, eax
je 0x45051d
mov eax, dword [esi + 0x67523c]
test eax, eax
je 0x45051d
mov eax, 1
jmp 0x45051f
xor eax, eax
mov dword [edi + 0x6751b8], eax
mov eax, dword [edi + 0x6728cc]
test eax, eax
push 3
je 0x45054c
mov eax, dword [esi + 0x654914]
lea ecx, [esp + 0x90c]
dec eax
push eax
push 2
push 1
push str._c01_c398_d_c__r
push ecx
jmp 0x450564
mov edx, dword [esi + 0x654914]
push 2
push edx
push 1
lea eax, [esp + 0x918]
push str._c_02X_c39_c__r
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [esp + 0x152c]
add esp, 0x18
push 0x476fc4
push ecx
push ebx
call fcn.00455220
mov edx, dword [esp + 0x1520]
add esp, 0xc
push eax
push 0x476fc4
push edx
push ebx
call fcn.004554d0
add esp, 0xc
lea ecx, [ebp + 9]
lea edx, [esp + 0x90c]
push eax
lea eax, [esp + 0x10c]
push 0x100
push eax
push ecx
lea ecx, [ebx + ebx*4]
push edx
lea eax, [edi + 0x643900]
lea edx, [ebx + ecx*2]
push eax
mov eax, dword [edx*8 + 0x45fb4d8]
push eax
call fcn.004031c0
add esp, 0x20
cmp eax, 1
je 0x4505f3
mov ecx, dword [esp + 0x1514]
push str.Error_code__E7__in_DoOnLineDegradeAuth:_reading_device_debug
push 1
push ecx
push ebx
call fcn.00454580
add esp, 0x10
jmp 0x4506c4
mov eax, dword [edi + 0x6728cc]
test eax, eax
je 0x45061a
lea edx, [esp + 0x10c]
push pe_nt_image_headers32
lea eax, [esp + 0x10e]
push edx
push eax
call fcn.0045eb70
add esp, 0xc
lea ecx, [esp + 0x10a]
push 0x20
lea edx, [esp + 0xbc]
push ecx
push edx
call fcn.0045eb70
mov eax, dword [esp + 0x1520]
add esp, 0xc
mov ecx, eax
mov byte [esp + 0xd8], 0
shl ecx, 5
add edi, ecx
lea eax, [eax + edi + 0x673d78]
lea edi, [esp + 0xb8]
mov dword [esp + 0x3c], eax
mov dl, byte [edi]
mov cl, dl
cmp dl, byte [eax]
jne 0x450680
test cl, cl
je 0x45067c
mov dl, byte [edi + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x450680
add edi, 2
add eax, 2
test cl, cl
jne 0x45065c
xor eax, eax
jmp 0x450685
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4506c4
lea edi, [esp + 0xb8]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x3c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x1514]
push ecx
push ebx
call fcn.00426f10
mov esi, dword [esp + 0x18]
add esp, 8
mov eax, dword [esi + 0x656a1c]
test eax, eax
je 0x450e63
mov edx, dword [esp + 0x18]
mov eax, str.OZKS
lea edi, [edx + 0x6439f7]
mov dl, byte [edi]
mov cl, dl
cmp dl, byte [eax]
jne 0x450705
test cl, cl
je 0x450701
mov dl, byte [edi + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x450705
add edi, 2
add eax, 2
test cl, cl
jne 0x4506e1
xor eax, eax
jmp 0x45070a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x450e63
mov eax, dword [esi + 0x6751bc]
test eax, eax
je 0x45072d
mov eax, dword [esi + 0x67523c]
test eax, eax
je 0x45072d
mov eax, 1
jmp 0x45072f
xor eax, eax
mov ecx, dword [esp + 0x18]
push 3
mov dword [ecx + 0x6751b8], eax
mov eax, dword [ecx + 0x6728cc]
test eax, eax
je 0x450760
mov eax, dword [esi + 0x654914]
lea ecx, [esp + 0x90c]
dec eax
push eax
push 2
push 1
push str._c01_c368_d_c__r
push ecx
jmp 0x450778
mov edx, dword [esi + 0x654914]
push 2
push edx
push 1
lea eax, [esp + 0x918]
push str._c_02X_c36_c__r
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov edi, dword [esp + 0x152c]
add esp, 0x18
push 0x46f4a4
push edi
push ebx
call fcn.00455220
add esp, 0xc
push eax
push 0x46f4a4
push edi
push ebx
call fcn.004554d0
add esp, 0xc
lea ecx, [esp + 0x108]
add ebp, 9
lea edx, [esp + 0x90c]
push eax
mov eax, dword [esp + 0x20]
push 0x100
push ecx
push ebp
push edx
lea edx, [ebx + ebx*4]
lea ecx, [eax + 0x643900]
push ecx
lea eax, [ebx + edx*2]
mov ecx, dword [eax*8 + 0x45fb4d8]
push ecx
call fcn.004031c0
add esp, 0x20
cmp eax, 1
je 0x4507fd
push str.Error_code__E7__in_DoOnLineDegradeAuth:_reading_device_status
push 1
push edi
push ebx
call fcn.00454580
add esp, 0x10
jmp 0x450e63
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x6728cc]
test eax, eax
je 0x450828
lea eax, [esp + 0x10c]
push pe_nt_image_headers32
lea ecx, [esp + 0x10e]
push eax
push ecx
call fcn.0045eb70
add esp, 0xc
lea edx, [esp + 0x10a]
push 4
lea eax, [esp + 0x28]
push edx
push eax
call fcn.0045eb70
lea eax, [ebx + ebx*2]
add esp, 0xc
mov byte [esp + 0x28], 0
lea edi, [esp + 0x24]
lea ecx, [eax + eax*8]
lea eax, [ebx + ecx*8]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x1514]
lea ebp, [ebx + edx*2]
shl ebp, 5
add ebp, eax
lea eax, [ebp + ebp*4 + 0x656a9c]
mov dword [esp + 0x98], eax
mov dl, byte [edi]
mov cl, dl
cmp dl, byte [eax]
jne 0x450895
test cl, cl
je 0x450891
mov dl, byte [edi + 1]
mov cl, dl
cmp dl, byte [eax + 1]
jne 0x450895
add edi, 2
add eax, 2
test cl, cl
jne 0x450871
xor eax, eax
jmp 0x45089a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x450d9f
mov edi, dword [esp + 0x1514]
lea eax, [esp + 0x104]
push eax
push edi
push ebx
call fcn.0042aed0
lea ecx, [esp + 0x30]
lea edx, [esp + 0xd18]
push ecx
push str.Status:__s
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0xd24]
push eax
push edi
push ebx
push 6
call fcn.00457a90
mov eax, dword [esi + 0x65dfc8]
add esp, 0x28
test eax, eax
je 0x450d75
lea ebp, [ebp + ebp*4 + 0x656a9e]
mov edi, 0x488b34
mov esi, ebp
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x450928
test al, al
je 0x450924
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x450928
add esi, 2
add edi, 2
test al, al
jne 0x450900
xor eax, eax
jmp 0x45092d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x450d75
push 2
lea eax, [esp + 0x2a]
push ebp
push eax
call fcn.0045f690
add esp, 0xc
test eax, eax
je 0x450d75
lea ecx, [esp + 0x26]
push ecx
call fcn.0045a970
push ebp
mov esi, eax
call fcn.0045a970
mov edx, esi
add esp, 8
and edx, 0x8000000f
jns 0x450971
dec edx
or edx, 0xfffffff0
inc edx
xor ecx, ecx
cmp edx, 8
mov edx, esi
setge cl
and edx, 0x80000007
mov dword [esp + 0x34], ecx
jns 0x45098c
dec edx
or edx, 0xfffffff8
inc edx
xor ecx, ecx
cmp edx, 4
mov edx, esi
setge cl
and edx, reloc.WSOCK32.dll_closesocket
mov dword [esp + 0x6c], ecx
jns 0x4509a7
dec edx
or edx, 0xfffffffc
inc edx
xor ecx, ecx
cmp edx, 2
setge cl
and esi, reloc.WSOCK32.dll_accept
mov ebp, ecx
jns 0x4509be
dec esi
or esi, 0xfffffffe
inc esi
xor edx, edx
cmp esi, 1
mov ecx, eax
setge dl
and ecx, 0x8000000f
mov esi, edx
jns 0x4509d7
dec ecx
or ecx, 0xfffffff0
inc ecx
xor edx, edx
cmp ecx, 8
mov ecx, eax
setge dl
and ecx, 0x80000007
mov dword [esp + 0x20], edx
jns 0x4509f2
dec ecx
or ecx, 0xfffffff8
inc ecx
xor edx, edx
cmp ecx, 4
mov ecx, eax
setge dl
and ecx, reloc.WSOCK32.dll_closesocket
mov dword [esp + 0x88], edx
jns 0x450a10
dec ecx
or ecx, 0xfffffffc
inc ecx
xor edx, edx
cmp ecx, 2
setge dl
and eax, reloc.WSOCK32.dll_accept
mov dword [esp + 0x58], edx
jns 0x450a28
dec eax
or eax, 0xfffffffe
inc eax
xor ecx, ecx
cmp eax, 1
setge cl
cmp esi, ecx
je 0x450a6b
test esi, esi
je 0x450a6b
xor edx, edx
mov eax, 0x5e6ae8
cmp dword [eax], 0
je 0x450ab9
add eax, 0x58
inc edx
cmp eax, 0x5ed8e8
jl 0x450a3f
mov ecx, dword [esp + 0x1514]
push str.Error_1:_all_threads_still_running
push 1
push 0
push ecx
push ebx
push 0
call fcn.0041ae50
add esp, 0x18
cmp ebp, dword [esp + 0x58]
je 0x450bd3
test ebp, ebp
je 0x450bd3
xor edx, edx
mov eax, 0x5e6ae8
cmp dword [eax], 0
je 0x450b48
add eax, 0x58
inc edx
cmp eax, 0x5ed8e8
jl 0x450a84
mov ebp, dword [esp + 0x1514]
push str.Error_1:_all_threads_still_running
push 1
push 0
push ebp
push ebx
push 0
call fcn.0041ae50
add esp, 0x18
jmp 0x450bda
cmp edx, 0x140
jge 0x450a4f
mov edi, 0x514f20
or ecx, 0xffffffff
xor eax, eax
lea esi, [edx*2 + 0x5599fc]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x3c], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x3c]
mov dword [edx*4 + 0x558cf8], 1
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [edx + edx*4]
and ecx, 3
mov dword [edx*4 + 0x45ed558], 0
lea eax, [eax + eax*4]
rep movsb byte es:[edi], byte [esi]
lea ecx, [eax + eax*4]
lea eax, [ebx + ecx*8]
mov ecx, dword [esp + 0x1514]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
lea ecx, [edx + edx*4]
push eax
push 0x408470
lea edx, [edx + ecx*2]
push 0
lea eax, [edx*8 + 0x5e6ae0]
push eax
call fcn.0045a6d0
add esp, 0x10
jmp 0x450a6b
cmp edx, 0x140
jge 0x450a98
mov edi, 0x514f20
or ecx, 0xffffffff
xor eax, eax
lea ebp, [edx*2 + 0x5599fc]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [edx*4 + 0x558cf8], 2
mov eax, ecx
mov esi, edi
mov edi, ebp
mov ebp, dword [esp + 0x1514]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [edx + edx*4]
and ecx, 3
mov dword [edx*4 + 0x45ed558], 0
lea eax, [eax + eax*4]
rep movsb byte es:[edi], byte [esi]
lea ecx, [eax + eax*4]
lea eax, [ebx + ecx*8]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [ebp + eax*8]
lea eax, [edx + edx*4]
push ecx
push 0x408470
lea ecx, [edx + eax*2]
push 0
lea edx, [ecx*8 + 0x5e6ae0]
push edx
call fcn.0045a6d0
add esp, 0x10
jmp 0x450bda
mov ebp, dword [esp + 0x1514]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x88]
cmp eax, ecx
je 0x450c19
test eax, eax
je 0x450c19
xor edx, edx
mov eax, 0x5e6ae8
cmp dword [eax], 0
je 0x450c51
add eax, 0x58
inc edx
cmp eax, 0x5ed8e8
jl 0x450bf4
push str.Error_1:_all_threads_still_running
push 1
push 0
push ebp
push ebx
push 0
call fcn.0041ae50
add esp, 0x18
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
cmp eax, ecx
je 0x450d75
test eax, eax
je 0x450d75
xor edx, edx
mov eax, 0x5e6ae8
cmp dword [eax], 0
je 0x450cda
add eax, 0x58
inc edx
cmp eax, 0x5ed8e8
jl 0x450c38
jmp 0x450d60
cmp edx, 0x140
jge 0x450c04
mov edi, 0x514f20
or ecx, 0xffffffff
xor eax, eax
lea esi, [edx*2 + 0x5599fc]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x3c], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x3c]
mov dword [edx*4 + 0x558cf8], 3
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [edx + edx*4]
and ecx, 3
mov dword [edx*4 + 0x45ed558], 0
lea eax, [eax + eax*4]
rep movsb byte es:[edi], byte [esi]
lea ecx, [eax + eax*4]
lea eax, [ebx + ecx*8]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [ebp + eax*8]
lea eax, [edx + edx*4]
push ecx
push 0x408470
lea ecx, [edx + eax*2]
push 0
lea edx, [ecx*8 + 0x5e6ae0]
push edx
call fcn.0045a6d0
add esp, 0x10
jmp 0x450c19
cmp edx, 0x140
jge 0x450d60
mov edi, 0x514f20
or ecx, 0xffffffff
xor eax, eax
lea esi, [edx*2 + 0x5599fc]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x3c], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x3c]
mov dword [edx*4 + 0x558cf8], 4
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [edx + edx*4]
and ecx, 3
mov dword [edx*4 + 0x45ed558], 0
lea eax, [eax + eax*4]
rep movsb byte es:[edi], byte [esi]
lea ecx, [eax + eax*4]
lea eax, [ebx + ecx*8]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea ecx, [ebp + eax*8]
lea eax, [edx + edx*4]
push ecx
push 0x408470
lea ecx, [edx + eax*2]
push 0
lea edx, [ecx*8 + 0x5e6ae0]
push edx
call fcn.0045a6d0
add esp, 0x10
jmp 0x450d75
push str.Error_1:_all_threads_still_running
push 1
push 0
push ebp
push ebx
push 0
call fcn.0041ae50
add esp, 0x18
lea edi, [esp + 0x24]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x98]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0x674198]
test eax, eax
jle 0x450e63
mov eax, dword [esi + 0x674958]
test eax, eax
jne 0x450e57
mov eax, dword [esi + 0x6748d8]
test eax, eax
je 0x450e0f
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esi + 0x674858]
mov edx, dword [esi + 0x6749d8]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
cmp ecx, eax
jae 0x450e0f
mov edx, dword [esp + 0x1514]
push 0
push 1
push 0x4830e0
push edx
push ebx
call fcn.0042f970
add esp, 0x14
test eax, eax
je 0x450e0f
mov dword [esi + 0x674958], 1
mov eax, dword [esi + 0x674958]
test eax, eax
jne 0x450e57
mov eax, dword [esi + 0x6748d8]
test eax, eax
jne 0x450e57
mov eax, dword [esi + 0x6745d8]
mov ecx, dword [esi + 0x674658]
cmp eax, ecx
je 0x450e57
test eax, eax
mov eax, 0x488b30
jne 0x450e41
mov eax, 0x47481c
push 0
push 1
push eax
mov eax, dword [esp + 0x1520]
push eax
push ebx
call fcn.0042f970
add esp, 0x14
mov ecx, dword [esi + 0x6745d8]
mov dword [esi + 0x674658], ecx
mov ebp, dword [esi + 0x656b3c]
test ebp, ebp
jne 0x450e7b
mov eax, dword [esi + 0x656c5c]
test eax, eax
je 0x45120f
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x6728cc]
test eax, eax
jne 0x45120f
mov eax, edx
mov edi, str.OZKS
lea esi, [eax + 0x6439f7]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x450ec2
test al, al
je 0x450ebe
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x450ec2
add esi, 2
add edi, 2
test al, al
jne 0x450e9a
xor eax, eax
jmp 0x450ec7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45120f
test ebp, ebp
je 0x45106b
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x6751bc]
test eax, eax
je 0x450ef6
mov eax, dword [ecx + 0x67523c]
test eax, eax
je 0x450ef6
mov eax, 1
jmp 0x450ef8
xor eax, eax
mov edi, dword [esp + 0x18]
push 3
push 2
mov dword [edi + 0x6751b8], eax
mov eax, dword [ecx + 0x654914]
push eax
push 1
lea ecx, [esp + 0x918]
push str._c_02X_cA600_c__r
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov esi, dword [esp + 0x152c]
push 0x488b18
push esi
push ebx
call fcn.00455220
add esp, 0x24
push eax
push 0x488b18
push esi
push ebx
call fcn.004554d0
add esp, 0xc
lea edx, [esp + 0x108]
lea ecx, [edi + 0x643900]
push eax
push 0x100
push edx
lea eax, [esp + 0x918]
lea edx, [ebx + ebx*4]
push 0xb
push eax
push ecx
lea eax, [ebx + edx*2]
mov ecx, dword [eax*8 + 0x45fb4d8]
push ecx
call fcn.004031c0
add esp, 0x20
cmp eax, 1
je 0x450f98
push str.Error_code__E7__in_DoOnLineDegradeAuth:_reading_dido_serial_1_status
push 1
push esi
push ebx
call fcn.00454580
add esp, 0x10
jmp 0x45106b
lea edx, [esp + 0x10c]
push 4
lea eax, [esp + 0x28]
push edx
push eax
call fcn.0045eb70
lea eax, [ebx + ebx*2]
add esp, 0xc
mov byte [esp + 0x28], 0
lea ecx, [eax + eax*8]
lea eax, [ebx + ecx*8]
lea edx, [eax + eax*2]
lea eax, [ebx + edx*2]
shl eax, 5
add eax, esi
lea esi, [esp + 0x24]
lea ebp, [eax + eax*4 + 0x656bbc]
mov edi, ebp
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x450ffd
test al, al
je 0x450ff9
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x450ffd
add esi, 2
add edi, 2
test al, al
jne 0x450fd5
xor eax, eax
jmp 0x451002
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45106b
lea edi, [esp + 0x24]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x1514]
lea ecx, [esp + 0x104]
push ecx
push 1
push esi
push ebx
call fcn.0042b510
lea edx, [esp + 0x34]
lea eax, [esp + 0xd1c]
push edx
push str.Status_dido_1:__s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea ecx, [esp + 0xd28]
push ecx
push esi
push ebx
push 6
call fcn.00457a90
add esp, 0x2c
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x656c5c]
test eax, eax
je 0x45120f
mov ecx, edx
mov eax, dword [ecx + 0x6751bc]
test eax, eax
je 0x45109a
mov eax, dword [ecx + 0x67523c]
test eax, eax
je 0x45109a
mov eax, 1
jmp 0x45109c
xor eax, eax
mov edi, dword [esp + 0x18]
push 3
push 2
mov dword [edi + 0x6751b8], eax
mov eax, dword [ecx + 0x654914]
push eax
push 1
lea ecx, [esp + 0x918]
push str._c_02X_cA601_c__r
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov esi, dword [esp + 0x152c]
push 0x488b18
push esi
push ebx
call fcn.00455220
add esp, 0x24
push eax
push 0x488b18
push esi
push ebx
call fcn.004554d0
add esp, 0xc
lea edx, [esp + 0x108]
lea ecx, [edi + 0x643900]
push eax
push 0x100
push edx
lea eax, [esp + 0x918]
lea edx, [ebx + ebx*4]
push 0xb
push eax
push ecx
lea eax, [ebx + edx*2]
mov ecx, dword [eax*8 + 0x45fb4d8]
push ecx
call fcn.004031c0
add esp, 0x20
cmp eax, 1
je 0x45113c
push str.Error_code__E7__in_DoOnLineDegradeAuth:_reading_dido_serial_2_status
push 1
push esi
push ebx
call fcn.00454580
add esp, 0x10
jmp 0x45120f
lea edx, [esp + 0x10c]
push 4
lea eax, [esp + 0x28]
push edx
push eax
call fcn.0045eb70
lea eax, [ebx + ebx*2]
add esp, 0xc
mov byte [esp + 0x28], 0
lea ecx, [eax + eax*8]
lea eax, [ebx + ecx*8]
lea edx, [eax + eax*2]
lea eax, [ebx + edx*2]
shl eax, 5
add eax, esi
lea esi, [esp + 0x24]
lea ebp, [eax + eax*4 + 0x656cdc]
mov edi, ebp
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x4511a1
test al, al
je 0x45119d
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x4511a1
add esi, 2
add edi, 2
test al, al
jne 0x451179
xor eax, eax
jmp 0x4511a6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45120f
lea edi, [esp + 0x24]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x1514]
lea ecx, [esp + 0x104]
push ecx
push 2
push esi
push ebx
call fcn.0042b510
lea edx, [esp + 0x34]
lea eax, [esp + 0xd1c]
push edx
push str.Status_dido_2:__s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea ecx, [esp + 0xd28]
push ecx
push esi
push ebx
push 6
call fcn.00457a90
add esp, 0x2c
mov eax, dword [esp + 0x1514]
xor ecx, ecx
mov edi, 0x514f20
lea edx, [esp + 0x9c]
mov dword [esp + eax*4 + 0x508], ecx
mov dword [esp + eax*4 + 0x508], ecx
mov eax, dword [esp + 0x10]
mov ebp, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [eax + 0x658bfc], ecx
mov dword [eax + 0x658cfc], ecx
mov dword [eax + 0x658dfc], ecx
mov dword [eax + 0x658e7c], ecx
mov dword [eax + 0x658efc], ecx
mov dword [eax + 0x658f7c], ecx
mov dword [eax + 0x658ffc], ecx
mov dword [eax + 0x676560], ecx
mov dword [eax + 0x6765e0], ecx
mov dword [eax + 0x656ffc], ecx
mov dword [eax + 0x65707c], ecx
mov dword [eax + 0x6570fc], ecx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call ebp
mov dword [esp + 0xa8], eax
call ebp
mov edi, eax
call ebp
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x104]
push edx
mov dword [ecx + 0x654608], eax
mov eax, dword [esp + 0x1518]
push eax
push ebx
call fcn.00457bc0
add esp, 0xc
mov esi, eax
call ebp
sub eax, edi
cmp esi, 0xffffffff
mov dword [esp + 0xac], eax
je 0x452e2c
xor ebp, ebp
cmp esi, ebp
je 0x452e0a
mov edi, 1
cmp esi, edi
jne 0x452e44
mov al, byte [esp + 0x10a]
mov dword [esp + 0x88], ebp
cmp al, 0x34
mov dl, 0x33
jne 0x45133f
mov cl, byte [esp + 0x10b]
cmp cl, 0x46
jne 0x451368
mov al, dl
mov cl, 0x32
mov byte [esp + 0x10a], al
mov byte [esp + 0x10b], cl
mov dword [esp + 0x88], 2
jmp 0x451368
mov cl, byte [esp + 0x10b]
cmp al, 0x35
jne 0x451368
cmp cl, 0x30
jne 0x451368
mov al, dl
mov cl, 0x32
mov byte [esp + 0x10a], al
mov byte [esp + 0x10b], cl
mov dword [esp + 0x88], edi
cmp al, 0x42
mov dword [esp + 0x58], ebp
jne 0x45138c
cmp cl, 0x30
je 0x45137f
cmp cl, 0x31
je 0x45137f
cmp cl, 0x32
jne 0x45138c
mov al, dl
mov dword [esp + 0x58], edi
mov byte [esp + 0x10a], al
cmp al, 0x35
mov dword [esp + 0x6c], ebp
jne 0x45139d
cmp cl, 0x31
jne 0x45139d
mov dword [esp + 0x6c], edi
mov esi, dword [esp + 0x10]
cmp al, 0x35
mov dword [esi + 0x6755c8], ebp
jne 0x4513c8
cmp cl, 0x32
jne 0x4513c8
mov al, dl
mov cl, 0x30
mov byte [esp + 0x10a], al
mov byte [esp + 0x10b], cl
mov dword [esi + 0x6755c8], edi
cmp al, 0x37
mov dword [esi + 0x6759e0], ebp
jne 0x4513ee
cmp cl, 0x36
jne 0x45140b
mov byte [esp + 0x10a], dl
mov byte [esp + 0x10b], 0x30
mov dword [esi + 0x6759e0], edi
jmp 0x45140b
cmp al, 0x35
jne 0x45140b
cmp cl, dl
jne 0x45140b
mov byte [esp + 0x10a], dl
mov byte [esp + 0x10b], 0x31
mov dword [esi + 0x6765e0], edi
lea ecx, [esp + 0x10a]
push ecx
call fcn.0045a970
add esp, 4
cmp eax, 0x58
jne 0x45143d
push 2
lea edx, [esp + 0x10e]
push 0x46f4f8
push edx
mov dword [esi + 0x658efc], edi
call fcn.0045eb70
add esp, 0xc
lea eax, [esp + 0x10a]
push eax
call fcn.0045a970
add esp, 4
cmp eax, 0x59
jne 0x45146f
push 2
lea ecx, [esp + 0x10e]
push 0x46f4f4
push ecx
mov dword [esi + 0x658f7c], edi
call fcn.0045eb70
add esp, 0xc
lea edx, [esp + 0x10a]
push edx
call fcn.0045a970
add esp, 4
cmp eax, 0x5a
jne 0x4514a1
push 2
lea eax, [esp + 0x10e]
push 0x488a48
push eax
mov dword [esi + 0x658ffc], edi
call fcn.0045eb70
add esp, 0xc
mov ebp, dword [esp + 0x18]
lea ecx, [esp + 0x104]
lea edx, [esp + 0x78]
push ecx
push edx
mov edx, dword [esp + 0x151c]
lea ecx, [esp + 0x54]
lea eax, [ebp + 0x643900]
push ecx
push edx
push eax
call fcn.00406bb0
mov eax, dword [esi + 0x65601c]
add esp, 0x14
test eax, eax
mov dword [esp + 0x34], 0
je 0x45164b
mov eax, dword [esp + 0x1514]
mov edx, ebp
add edx, eax
mov edi, 0x514f20
lea ecx, [eax + eax*4]
xor eax, eax
push 0xa
push str.0000000000
lea ebp, [edx + ecx*2]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x28], ebp
lea ebp, [ebp + 0x655e3c]
mov eax, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x11e]
push ecx
call fcn.0045f690
add esp, 0xc
test eax, eax
jne 0x451560
lea edx, [esp + 0x120]
push 0xa
lea eax, [esp + 0x7c]
push edx
push eax
call fcn.0045eb70
add esp, 0xc
mov byte [esp + 0x82], 0
jmp 0x451608
xor esi, esi
lea edi, [esp + 0x116]
push edi
call fcn.0045a970
add esp, 4
mov byte [esi + ebp], al
inc esi
add edi, 2
cmp esi, 0xa
jl 0x451569
mov ecx, dword [esp + 0x20]
push 0x46e08c
push ebp
mov byte [ecx + 0x655e46], 0
call dword [sym.imp.SHLWAPI.dll_StrTrimA]
mov edi, 0x514f20
mov esi, ebp
mov dl, byte [esi]
mov cl, byte [edi]
mov al, dl
cmp dl, cl
jne 0x4515c4
test al, al
je 0x4515c0
mov cl, byte [esi + 1]
mov dl, byte [edi + 1]
mov al, cl
cmp cl, dl
jne 0x4515c4
add esi, 2
add edi, 2
test al, al
jne 0x45159c
xor eax, eax
jmp 0x4515c9
sbb eax, eax
sbb eax, 0xffffffff
xor edx, edx
mov edi, str.0000000000
test eax, eax
setne dl
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x34], edx
lea edx, [esp + 0x78]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x78]
push ecx
push ebp
call fcn.0041ad10
add esp, 8
lea edx, [esp + 0x78]
push 0xa
lea eax, [esp + 0x11a]
push edx
push eax
call fcn.0045eb70
lea ecx, [esp + 0x136]
push 9
lea edx, [esp + 0x130]
push ecx
push edx
call fcn.0045eb70
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x28]
add esp, 0x18
mov byte [esp + 0x129], 0
mov edi, 1
mov eax, dword [esi + 0x655f9c]
test eax, eax
je 0x451761
mov eax, dword [esp + 0x1514]
mov edx, dword [esp + 0x18]
xor esi, esi
add edx, eax
lea ecx, [eax + eax*4]
lea edi, [esp + 0x116]
lea ebp, [edx + ecx*2]
mov dword [esp + 0x20], ebp
lea ebp, [ebp + 0x655e3c]
push edi
call fcn.0045a970
add esp, 4
mov byte [esi + ebp], al
inc esi
add edi, 2
cmp esi, 0xa
jl 0x45167f
mov eax, dword [esp + 0x20]
push 0x46e08c
push ebp
mov byte [eax + 0x655e46], 0
call dword [sym.imp.SHLWAPI.dll_StrTrimA]
mov edi, 0x514f20
mov esi, ebp
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x4516da
test al, al
je 0x4516d6
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x4516da
add esi, 2
add edi, 2
test al, al
jne 0x4516b2
xor eax, eax
jmp 0x4516df
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
mov edi, str.0000000000
test eax, eax
setne cl
mov dword [esp + 0x34], ecx
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x78]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x78]
push ecx
push ebp
call fcn.0041ad10
lea edx, [esp + 0x80]
push 0xa
lea eax, [esp + 0x122]
push edx
push eax
call fcn.0045eb70
lea ecx, [esp + 0x13e]
push 9
lea edx, [esp + 0x138]
push ecx
push edx
call fcn.0045eb70
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x30]
add esp, 0x20
mov byte [esp + 0x129], 0
mov edi, 1
lea eax, [esp + 0x104]
lea ecx, [esp + 0x84]
push eax
lea edx, [esp + 0x3e]
push ecx
lea eax, [ebp + 0x643900]
push edx
push eax
call fcn.00406d30
mov al, byte [esp + 0x4a]
mov edx, dword [esp + 0x1524]
mov cl, byte [esp + 0x11b]
mov byte [esp + 0x30], al
lea eax, [esp + 0x24]
push 0x514f20
push eax
mov byte [edx + ebp + 0x655c7c], cl
mov dword [esp + 0x54], edi
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [esi + 0x65699c]
add esp, 0x18
test eax, eax
jne 0x451aa2
mov eax, dword [esi + 0x655f9c]
test eax, eax
jne 0x451aa2
mov eax, dword [esi + 0x65601c]
test eax, eax
jne 0x451aa2
mov edi, str.000000
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x2c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea ebp, [ebp + 0x6439f7]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.OZKS
mov esi, ebp
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x45183b
test al, al
je 0x451837
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x45183b
add esi, 2
add edi, 2
test al, al
jne 0x451813
xor eax, eax
jmp 0x451840
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x451865
lea eax, [esp + 0x128]
push eax
call fcn.0045a970
push eax
lea ecx, [esp + 0x34]
push str.0_05d
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov edi, 0x46f4c0
mov esi, ebp
mov dl, byte [esi]
mov cl, byte [edi]
mov al, dl
cmp dl, cl
jne 0x451894
test al, al
je 0x451890
mov cl, byte [esi + 1]
mov dl, byte [edi + 1]
mov al, cl
cmp cl, dl
jne 0x451894
add esi, 2
add edi, 2
test al, al
jne 0x45186c
xor eax, eax
jmp 0x451899
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4518d5
mov edi, 0x46f4bc
mov esi, ebp
mov dl, byte [esi]
mov cl, byte [edi]
mov al, dl
cmp dl, cl
jne 0x4518cc
test al, al
je 0x4518c8
mov cl, byte [esi + 1]
mov dl, byte [edi + 1]
mov al, cl
cmp cl, dl
jne 0x4518cc
add esi, 2
add edi, 2
test al, al
jne 0x4518a4
xor eax, eax
jmp 0x4518d1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4518f1
lea edx, [esp + 0x116]
push 6
lea eax, [esp + 0x30]
push edx
push eax
call fcn.0045eb70
add esp, 0xc
mov byte [esp + 0x32], 0
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x4518fe
mov byte [esp + 0x20], 0x51
mov ebp, dword [esp + 0x10]
lea ecx, [esp + 0x10a]
push ecx
mov dword [ebp + 0x658b7c], 0
call fcn.0045a970
add esp, 4
cmp eax, 0x44
mov esi, 1
jne 0x451934
mov dl, byte [esp + 0x31]
mov dword [ebp + 0x658b7c], esi
mov byte [esp + 0x20], dl
lea eax, [esp + 0x10a]
push eax
call fcn.0045a970
add esp, 4
cmp eax, 0x47
jne 0x45194f
mov dword [ebp + 0x658bfc], esi
lea ecx, [esp + 0x10a]
push ecx
call fcn.0045a970
add esp, 4
cmp eax, 0x48
jne 0x45196a
mov dword [ebp + 0x658cfc], esi
lea edx, [esp + 0x10a]
push edx
call fcn.0045a970
add esp, 4
cmp eax, 0x51
jne 0x451985
mov dword [ebp + 0x658dfc], esi
lea eax, [esp + 0x10a]
push eax
call fcn.0045a970
add esp, 4
cmp eax, 0x38
je 0x4519af
lea ecx, [esp + 0x10a]
push ecx
call fcn.0045a970
add esp, 4
cmp eax, 0x39
jne 0x4519fa
lea edx, [esp + 0x10a]
mov dword [ebp + 0x658e7c], esi
push edx
call fcn.0045a970
add esp, 4
cmp eax, 0x38
lea edx, [esp + 0x2c]
mov edi, str.000000
je 0x4519d8
mov edi, 0x4779fc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, 1
mov eax, dword [ebp + 0x65629c]
test eax, eax
je 0x451a2a
mov eax, dword [ebp + 0x65631c]
test eax, eax
jle 0x451a2a
push esi
mov esi, dword [esp + 0x1518]
lea ecx, [esp + 0x108]
push ecx
push esi
push ebx
call fcn.00432680
add esp, 0x10
jmp 0x451a31
mov esi, dword [esp + 0x1514]
lea edx, [esp + 0x2c]
lea eax, [esp + 0x1c]
push edx
lea ecx, [esp + 0x18]
push eax
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x48]
push ecx
push edx
push esi
lea edx, [ebx + ebx*4]
push ebx
push eax
lea ecx, [esp + 0x68]
lea eax, [ebx + edx*2]
push ecx
mov ecx, dword [eax*8 + 0x45fb4d0]
push ecx
call fcn.00415250
mov dword [esp + esi*4 + 0x52c], eax
lea edi, [esp + 0x70]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x24
lea edx, [esp + 0x9c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov ebp, dword [esp + 0x1514]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x45258e
mov eax, dword [esp + 0x1514]
mov ebp, dword [esp + 0x18]
mov edi, 0x514f20
lea ecx, [eax + eax*4]
lea edx, [eax + ebp]
xor eax, eax
lea ebp, [ebp + 0x6439f7]
lea edx, [edx + ecx*2 + 0x655154]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x8c], edx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x2c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.000000
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x46f4c0
mov esi, ebp
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x451b3e
test al, al
je 0x451b3a
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x451b3e
add esi, 2
add edi, 2
test al, al
jne 0x451b16
xor eax, eax
jmp 0x451b43
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x451b7f
mov edi, 0x46f4bc
mov esi, ebp
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x451b76
test al, al
je 0x451b72
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x451b76
add esi, 2
add edi, 2
test al, al
jne 0x451b4e
xor eax, eax
jmp 0x451b7b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x451b9b
lea eax, [esp + 0x120]
push 6
lea ecx, [esp + 0x30]
push eax
push ecx
call fcn.0045eb70
add esp, 0xc
mov byte [esp + 0x32], 0
lea edx, [esp + 0x10a]
push edx
call fcn.0045a970
add esp, 4
cmp eax, 0x47
jne 0x451bc7
mov eax, dword [esp + 0x10]
mov esi, 1
mov ebp, eax
mov dword [eax + 0x658bfc], 1
jmp 0x451bd0
mov ebp, dword [esp + 0x10]
mov esi, 1
lea ecx, [esp + 0x10a]
push ecx
call fcn.0045a970
add esp, 4
cmp eax, 0x48
jne 0x451beb
mov dword [ebp + 0x658cfc], esi
lea edx, [esp + 0x10a]
push edx
call fcn.0045a970
add esp, 4
cmp eax, 0x51
jne 0x451c06
mov dword [ebp + 0x658dfc], esi
lea eax, [esp + 0x10a]
push eax
call fcn.0045a970
add esp, 4
cmp eax, 0x38
je 0x451c30
lea ecx, [esp + 0x10a]
push ecx
call fcn.0045a970
add esp, 4
cmp eax, 0x39
jne 0x451c76
lea edx, [esp + 0x10a]
mov dword [ebp + 0x658e7c], esi
push edx
call fcn.0045a970
add esp, 4
cmp eax, 0x38
lea edx, [esp + 0x2c]
mov edi, str.000000
je 0x451c59
mov edi, 0x4779fc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ebp, dword [ebp + 0x65621c]
cmp ebp, 2
mov dword [esp + 0x6c], ebp
jne 0x451ce5
mov edi, str.0000000000
lea esi, [esp + 0x4c]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x451cb6
test al, al
je 0x451cb2
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x451cb6
add esi, 2
add edi, 2
test al, al
jne 0x451c8e
xor eax, eax
jmp 0x451cbb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x451ce5
mov edi, str.0000000000
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x78]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [esp + 0x10]
mov ebp, dword [edx + 0x655f9c]
test ebp, ebp
je 0x451d37
mov eax, dword [edx + 0x65609c]
test eax, eax
je 0x451d37
mov eax, dword [esp + 0x34]
test eax, eax
je 0x451d37
mov edi, str.0000000000
or ecx, 0xffffffff
xor eax, eax
lea esi, [esp + 0x4c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x98], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x98]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.0000000000
lea esi, [esp + 0x78]
mov cl, byte [esi]
mov al, cl
cmp cl, byte [edi]
jne 0x451d64
test al, al
je 0x451d60
mov cl, byte [esi + 1]
mov al, cl
cmp cl, byte [edi + 1]
jne 0x451d64
add esi, 2
add edi, 2
test al, al
jne 0x451d40
xor eax, eax
jmp 0x451d69
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x45201f
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x45201f
cmp dword [esp + 0x6c], 1
jne 0x451f55
mov esi, dword [esp + 0x10]
lea eax, [esp + 0xdc]
lea ecx, [esp + 0x60]
mov edx, dword [esi + 0x65937c]
push edx
push eax
lea edx, [esp + 0x64]
push ecx
lea eax, [esp + 0x70]
push edx
lea ecx, [esp + 0x78]
push eax
lea edx, [esp + 0x84]
push ecx
lea eax, [esp + 0x8c]
push edx
lea ecx, [esp + 0xac]
push eax
push ecx
call fcn.004265e0
mov ebp, dword [esp + 0x1538]
lea edx, [esp + 0x70]
push ebp
push ebx
lea eax, [esp + 0x108]
push edx
push eax
call fcn.00414d70
add esp, 0x34
test eax, eax
je 0x451f5c
mov eax, dword [esi + 0x65691c]
test eax, eax
je 0x451f5c
or ecx, 0xffffffff
mov edi, 0x476f68
xor eax, eax
lea edx, [esp + 0x14]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + ebp*4 + 0x508], 0
mov eax, ecx
mov esi, edi
shr ecx, 2
mov edi, edx
lea edx, [esp + 0x40]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
mov edi, 0x514f20
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
shr ecx, 2
mov edi, edx
lea edx, [esp + 0x40]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
lea edi, [esp + 0x74]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x40]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x70]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x40]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x68]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
dec edi
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x40]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
lea edi, [esp + 0x64]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x40]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x5c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x1c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x60]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x451f5c
mov ebp, dword [esp + 0x1514]
mov edi, 0x514f20
lea esi, [esp + 0x14]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x451f8d
test al, al
je 0x451f89
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x451f8d
add esi, 2
add edi, 2
test al, al
jne 0x451f65
xor eax, eax
jmp 0x451f92
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x45258e
lea eax, [esp + 0x120]
push 8
lea ecx, [esp + 0x11a]
push eax
push ecx
call fcn.0045eb70
lea edx, [esp + 0x38]
lea eax, [esp + 0x28]
push edx
lea ecx, [esp + 0x24]
push eax
mov eax, dword [esp + 0x34]
lea edx, [esp + 0x54]
push ecx
push edx
push ebp
lea edx, [ebx + ebx*4]
push ebx
push eax
lea ecx, [esp + 0x74]
lea eax, [ebx + edx*2]
push ecx
mov byte [esp + 0x14b], 0
mov ecx, dword [eax*8 + 0x45fb4d0]
push ecx
call fcn.00415250
add esp, 0x30
mov dword [esp + ebp*4 + 0x508], eax
test eax, eax
je 0x45225b
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x65601c]
test eax, eax
je 0x45225b
lea eax, [esp + 0x4c]
push str.0000000000
push eax
jmp 0x452222
mov edi, str.0000000000
lea esi, [esp + 0x4c]
mov cl, byte [esi]
mov al, cl
cmp cl, byte [edi]
jne 0x45204c
test al, al
je 0x452048
mov cl, byte [esi + 1]
mov al, cl
cmp cl, byte [edi + 1]
jne 0x45204c
add esi, 2
add edi, 2
test al, al
jne 0x452028
xor eax, eax
jmp 0x452051
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4522bc
mov eax, dword [esp + 0x6c]
test eax, eax
jne 0x45226b
mov eax, dword [edx + 0x65601c]
test eax, eax
jne 0x45214d
test ebp, ebp
jne 0x452097
mov ebp, dword [esp + 0x1514]
lea edx, [esp + 0x78]
push edx
push ebp
push ebx
call fcn.0042a7b0
add esp, 0xc
test eax, eax
je 0x452154
jmp 0x45209e
mov ebp, dword [esp + 0x1514]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x655f9c]
test ecx, ecx
je 0x452272
mov edi, 0x4779fc
lea esi, [esp + 0x2c]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x4520e1
test al, al
je 0x4520dd
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x4520e1
add esi, 2
add edi, 2
test al, al
jne 0x4520b9
xor eax, eax
jmp 0x4520e6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x452154
mov eax, dword [esp + 0x34]
test eax, eax
je 0x452272
mov edi, str.0000000000
lea esi, [esp + 0x78]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x452127
test al, al
je 0x452123
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x452127
add esi, 2
add edi, 2
test al, al
jne 0x4520ff
xor eax, eax
jmp 0x45212c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x452272
lea eax, [esp + 0x78]
push eax
push ebp
push ebx
call fcn.0042a7b0
add esp, 0xc
test eax, eax
jne 0x452272
jmp 0x452154
mov ebp, dword [esp + 0x1514]
lea edi, [esp + 0x78]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x4c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x12
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x110]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x11a]
push ecx
push edx
call fcn.0045eb70
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov byte [esp + 0x11f], 0
mov ecx, dword [eax + 0x65629c]
test ecx, ecx
je 0x4521c9
mov ecx, eax
mov eax, dword [ecx + 0x65631c]
test eax, eax
jle 0x4521c9
lea edx, [esp + 0x104]
push 1
push edx
push ebp
push ebx
call fcn.00432680
add esp, 0x10
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x1c]
push eax
lea edx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x48]
push edx
push eax
push ebp
lea eax, [ebx + ebx*4]
push ebx
push ecx
lea edx, [esp + 0x68]
lea ecx, [ebx + eax*2]
push edx
mov edx, dword [ecx*8 + 0x45fb4d0]
push edx
call fcn.00415250
add esp, 0x24
mov dword [esp + ebp*4 + 0x508], eax
test eax, eax
je 0x45225b
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x65601c]
test ecx, ecx
je 0x45225b
lea ecx, [esp + 0x4c]
push ecx
push str.0000000000
push ebp
push ebx
call fcn.004293d0
add esp, 0x10
test eax, eax
jne 0x45225b
mov edi, 0x476f5c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + ebp*4 + 0x508], eax
lea edx, [esp + 0x14]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x4c]
lea edx, [esp + 0x9c]
jmp 0x452571
mov ebp, dword [esp + 0x1514]
lea edi, [esp + 0x78]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x4c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
mov edi, 0x488a3c
mov eax, dword [ecx + 0x65621c]
test eax, eax
je 0x4523fb
mov edi, 0x476fb0
jmp 0x4523fb
test ebp, ebp
mov dword [esp + 0x94], 1
je 0x452305
mov edi, 0x4779fc
lea esi, [esp + 0x2c]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x4522fc
test al, al
je 0x4522f8
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x4522fc
add esi, 2
add edi, 2
test al, al
jne 0x4522d4
xor eax, eax
jmp 0x452301
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45232a
mov ebp, dword [esp + 0x1514]
lea eax, [esp + 0x78]
lea ecx, [esp + 0x4c]
push eax
push ecx
push ebp
push ebx
call fcn.0042a140
add esp, 0x10
test eax, eax
je 0x4523c8
jmp 0x452331
mov ebp, dword [esp + 0x1514]
lea edi, [esp + 0x4c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, dword [esp + 0x10]
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x8c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [eax + 0x65621c]
lea eax, [esp + 0x4c]
test ecx, ecx
jg 0x45236d
lea eax, [esp + 0x78]
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x1c]
push ecx
push edx
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
push ebp
push ebx
lea edx, [ebx + ebx*4]
push ecx
push eax
lea eax, [ebx + edx*2]
mov ecx, dword [eax*8 + 0x45fb4d0]
push ecx
call fcn.00415250
mov edx, dword [esp + 0x34]
mov dword [esp + ebp*4 + 0x52c], eax
add esp, 0x24
lea edi, [esp + 0x4c]
mov eax, dword [edx + 0x65621c]
test eax, eax
jg 0x4523bc
lea edi, [esp + 0x78]
lea edx, [esp + 0x9c]
jmp 0x452571
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x65621c]
test ecx, ecx
jne 0x4523f2
mov ecx, dword [eax + 0x65601c]
lea edx, [esp + 0x14]
test ecx, ecx
je 0x4523eb
mov edi, 0x476f5c
jmp 0x4523fb
mov edi, 0x476754
jmp 0x4523fb
lea edx, [esp + 0x14]
mov edi, 0x476f68
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + ebp*4 + 0x508], 0
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0xdc]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x65937c]
lea ecx, [esp + 0x60]
push edx
push eax
lea edx, [esp + 0x64]
push ecx
lea eax, [esp + 0x70]
push edx
lea ecx, [esp + 0x78]
push eax
lea edx, [esp + 0x84]
push ecx
lea eax, [esp + 0x8c]
push edx
lea ecx, [esp + 0xac]
push eax
push ecx
call fcn.004265e0
mov edi, 0x514f20
or ecx, 0xffffffff
xor eax, eax
add esp, 0x24
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x40]
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x40]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x74]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x40]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x70]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
dec edi
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x40]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ecx, 0xffffffff
lea edi, [esp + 0x68]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x40]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x64]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x40]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x5c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x1c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x60]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x65669c]
test eax, eax
jne 0x4525e0
mov edx, dword [esp + 0x18]
mov edi, 0x476fdc
lea eax, [edx + ebp*2]
lea esi, [eax + ebp + 0x655054]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x4525d7
test al, al
je 0x4525d3
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x4525d7
add esi, 2
add edi, 2
test al, al
jne 0x4525af
xor eax, eax
jmp 0x4525dc
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x452606
mov eax, dword [esp + 0x94]
test eax, eax
lea eax, [esp + 0x78]
jne 0x4525f3
lea eax, [esp + 0x4c]
lea ecx, [esp + 0xb0]
push ecx
push eax
push ebp
push ebx
call fcn.0042bcb0
add esp, 0x10
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x88]
cmp dword [edx + 0x65e048], esi
je 0x45262e
push esi
push ebp
push ebx
call fcn.0042bad0
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov dword [eax + 0x65e048], esi
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x58]
cmp dword [ecx + 0x65e1c8], esi
je 0x452653
push esi
push ebp
push ebx
call fcn.0042bbc0
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov dword [edx + 0x65e1c8], esi
mov eax, dword [0x476ecf4]
test eax, eax
je 0x4526c7
mov eax, dword [esp + 0x18]
mov edi, 0x4770c0
lea esi, [eax + 0x6439f1]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x452693
test al, al
je 0x45268f
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x452693
add esi, 2
add edi, 2
test al, al
jne 0x45266b
xor eax, eax
jmp 0x452698
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4526c7
mov ebp, dword [esp + 0x1514]
mov ecx, dword [esp + 0x10]
shl ebp, 7
mov edx, dword [ecx + 0x654914]
lea eax, [esp + 0x4c]
push eax
push edx
lea eax, [ebp + 0x5198d0]
push str.Address__d:_DENIED_badge__s
push eax
jmp 0x452da0
mov edi, 0x514f20
lea esi, [esp + 0x14]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x4526f8
test al, al
je 0x4526f4
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x4526f8
add esi, 2
add edi, 2
test al, al
jne 0x4526d0
xor eax, eax
jmp 0x4526fd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x452707
mov dword [esp + 0x3c], eax
jmp 0x45271d
lea eax, [esp + 0x14]
lea ecx, [esp + 0x84]
push eax
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
call dword [sym.imp.KERNEL32.dll_GetTickCount]
lea edx, [esp + 0x14]
mov ebp, eax
mov eax, dword [esp + 0x1514]
lea ecx, [esp + 0x2c]
push edx
push ecx
mov esi, dword [esp + eax*4 + 0x510]
lea edx, [esp + 0xb8]
lea ecx, [esp + 0x10c]
push edx
push ecx
push esi
push eax
push ebx
mov dword [esp + 0x74], esi
call fcn.00457e40
add esp, 0x1c
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, ebp
cmp edi, 0xffffffff
mov dword [esp + 0x8c], eax
je 0x452c89
test edi, edi
jne 0x452ca1
mov edx, dword [esp + 0x1514]
push str.No_error__E3_
push edi
push edx
push ebx
call fcn.00454580
add esp, 0x10
test esi, esi
jne 0x4527b7
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x655c38]
test ecx, ecx
je 0x452be8
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x452be8
mov eax, dword [esp + 0x94]
test eax, eax
lea eax, [ebx + ebx*2]
je 0x452a63
lea ecx, [eax + eax*8]
mov edi, 0x514f20
lea eax, [ebx + ecx*8]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x1514]
lea ebp, [ebx + edx*2]
shl ebp, 5
add ebp, eax
lea esi, [ebp + ebp*4 + 0x6550b4]
mov cl, byte [esi]
mov dl, byte [edi]
mov al, cl
cmp cl, dl
jne 0x452815
test al, al
je 0x452811
mov dl, byte [esi + 1]
mov cl, byte [edi + 1]
mov al, dl
cmp dl, cl
jne 0x452815
add esi, 2
add edi, 2
test al, al
jne 0x4527ed
xor eax, eax
jmp 0x45281a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x452843
mov edi, str.0000
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
lea edi, [ebp + ebp*4 + 0x6550b4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x40]
push ecx
lea eax, [esp + 0x7c]
push edx
lea ecx, [esp + 0x8c]
push eax
lea edx, [esp + 0x28]
push ecx
lea edi, [ebp + ebp*4 + 0x6550b4]
push edx
lea eax, [esp + 0x118]
push edi
push eax
call fcn.0045e190
mov eax, dword [esp + 0x1530]
lea ecx, [esp + 0x68]
push ecx
lea edx, [esp + 0x124]
push 1
push edx
push eax
push ebx
call fcn.0041b1d0
add esp, 0x30
test eax, eax
jne 0x452900
push 0x4602cb8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x1514]
lea edx, [esp + 0xd0c]
push ecx
push ebx
push str.reg__04d__03d.txt
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0xd1c]
push 0x46f5ec
push eax
call fcn.0045faec
mov esi, eax
lea ecx, [esp + 0x11c]
push esi
push ecx
call fcn.0045fa33
push esi
push 0x487300
call fcn.0045fa33
push esi
call fcn.0045fa76
add esp, 0x2c
push 0x4602cb8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
lea ebp, [ebp + ebp*4 + 0x6550b5]
push ebp
call fcn.0045f57e
add esp, 4
cmp eax, 0x3e7
je 0x452936
push ebp
call fcn.0045f57e
movsx edx, byte [edi]
inc eax
push eax
push edx
push str._c_03d
push edi
call esi
add esp, 0x14
jmp 0x452953
mov al, byte [edi]
cmp al, 0x5a
jne 0x452943
mov eax, 0x47
jmp 0x452947
movsx eax, al
inc eax
push eax
push str._c000
push edi
call esi
add esp, 0xc
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x40]
push eax
lea edx, [esp + 0x50]
push ecx
push edx
lea eax, [esp + 0x28]
push 0x4889f4
push eax
lea ecx, [esp + 0x118]
push edi
push ecx
call fcn.0045e190
mov eax, dword [esp + 0x1530]
push 0x514f20
lea edx, [esp + 0x124]
push 1
push edx
push eax
push ebx
call fcn.0041b1d0
add esp, 0x30
test eax, eax
jne 0x452a0c
push 0x4602cb8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x1514]
lea edx, [esp + 0xd0c]
push ecx
push ebx
push str.reg__04d__03d.txt
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + 0xd1c]
push 0x46f5ec
push eax
call fcn.0045faec
mov esi, eax
lea ecx, [esp + 0x11c]
push esi
push ecx
call fcn.0045fa33
push esi
push 0x487300
call fcn.0045fa33
push esi
call fcn.0045fa76
add esp, 0x2c
push 0x4602cb8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
push ebp
call fcn.0045f57e
add esp, 4
cmp eax, 0x3e7
je 0x452a38
push ebp
call fcn.0045f57e
movsx edx, byte [edi]
inc eax
push eax
push edx
push str._c_03d
push edi
call esi
add esp, 0x14
jmp 0x452be8
mov al, byte [edi]
cmp al, 0x5a
jne 0x452a51
mov eax, 0x47
push eax
push str._c000
push edi
call esi
jmp 0x452be5
movsx eax, al
inc eax
push eax
push str._c000
push edi
call esi
jmp 0x452be5
lea eax, [eax + eax*8]
mov edi, 0x514f20
lea eax, [ebx + eax*8]
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x1514]
lea ebp, [ebx + ecx*2]
shl ebp, 5
add ebp, eax
lea esi, [ebp + ebp*4 + 0x6550b4]
mov dl, byte [esi]
mov cl, byte [edi]
mov al, dl
cmp dl, cl
jne 0x452aaf
test al, al
je 0x452aab
mov cl, byte [esi + 1]
mov dl, byte [edi + 1]
mov al, cl
cmp cl, dl
jne 0x452aaf
add esi, 2
add edi, 2
test al, al
jne 0x452a87
xor eax, eax
jmp 0x452ab4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x452add
mov edi, str.0000
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
lea edi, [ebp + ebp*4 + 0x6550b4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x40]
push eax
lea edx, [esp + 0x50]
push ecx
lea eax, [esp + 0x8c]
push edx
lea ecx, [esp + 0x28]
push eax
lea edi, [ebp + ebp*4 + 0x6550b4]
push ecx
lea edx, [esp + 0x118]
push edi
push edx
call fcn.0045e190
mov esi, dword [esp + 0x1530]
push 0x514f20
lea eax, [esp + 0x124]
push 1
push eax
push esi
push ebx
call fcn.0041b1d0
add esp, 0x30
test eax, eax
jne 0x452b93
push 0x4602cb8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push esi
push ebx
lea ecx, [esp + 0xd14]
push str.reg__04d__03d.txt
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
lea edx, [esp + 0xd1c]
push 0x46f5ec
push edx
call fcn.0045faec
mov esi, eax
lea eax, [esp + 0x11c]
push esi
push eax
call fcn.0045fa33
push esi
push 0x487300
call fcn.0045fa33
push esi
call fcn.0045fa76
add esp, 0x2c
push 0x4602cb8
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ebp, [ebp + ebp*4 + 0x6550b5]
push ebp
call fcn.0045f57e
add esp, 4
cmp eax, 0x3e7
je 0x452bc7
push ebp
call fcn.0045f57e
movsx ecx, byte [edi]
inc eax
push eax
push ecx
push str._c_03d
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
jmp 0x452be8
mov al, byte [edi]
cmp al, 0x5a
jne 0x452bd4
mov eax, 0x47
jmp 0x452bd8
movsx eax, al
inc eax
push eax
push str._c000
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov esi, dword [esp + 0x58]
test esi, esi
je 0x452ca1
mov eax, dword [0x559cd8]
test eax, eax
je 0x452c22
lea edx, [esp + 0x2c]
lea eax, [esp + 0x1c]
push edx
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x44]
push eax
mov eax, dword [esp + 0x151c]
push ecx
push edx
push eax
push ebx
call fcn.0042d6a0
add esp, 0x18
test esi, esi
je 0x452ca1
mov al, byte [esp + 0x20]
cmp al, 0x30
jne 0x452c3e
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x656ffc]
test eax, eax
jne 0x452c64
jmp 0x452ca1
cmp al, 0x31
jne 0x452c52
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x65707c]
test eax, eax
jne 0x452c64
jmp 0x452ca1
cmp al, 0x32
jne 0x452ca1
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x6570fc]
test ecx, ecx
je 0x452ca1
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x1518]
lea eax, [esp + 0xa0]
push edx
push eax
push ecx
push ebx
call fcn.0042e3a0
add esp, 0x14
jmp 0x452ca1
mov edx, dword [esp + 0x1514]
push str.Error_code__E3__in_DoOnLineDegradeAuth:_send_device_transit_authorization
push 1
push edx
push ebx
call fcn.00454580
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebp, dword [esp + 0xa8]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0xac]
sub eax, ebp
mov ebp, dword [esp + 0x1514]
sub eax, ecx
shl ebp, 7
lea esi, [ecx + edx]
sub eax, edx
push esi
lea edi, [ebp + 0x45e33a0]
push eax
push str.DB_access__d_ms_____Device_messages__d_ms
push edi
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [esp + 0x28]
or ecx, 0xffffffff
add esp, 0x10
lea edx, [eax + ebp + 0x65e3cc]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x58]
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
je 0x452d84
lea ecx, [esp + 0x84]
push ecx
call fcn.0045a970
add esp, 4
sub eax, 0x30
je 0x452d66
dec eax
je 0x452d48
dec eax
jne 0x452da9
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x4c]
push edx
mov ecx, dword [eax + 0x654914]
push ecx
push str.Address__d:_R_badge__s
jmp 0x452d99
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x4c]
push eax
lea eax, [ebp + 0x5198d0]
mov edx, dword [ecx + 0x654914]
push edx
push str.Address__d:_U_badge__s
push eax
jmp 0x452da0
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x4c]
push ecx
lea ecx, [ebp + 0x5198d0]
mov eax, dword [edx + 0x654914]
push eax
push str.Address__d:_E_badge__s
push ecx
jmp 0x452da0
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x4c]
push edx
mov ecx, dword [eax + 0x654914]
push ecx
push 0x488918
lea edx, [ebp + 0x5198d0]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov eax, dword [esp + 0x18]
lea edi, [ebp + 0x5198d0]
or ecx, 0xffffffff
lea edx, [eax + ebp + 0x66844c]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
mov edx, dword [esp + 0x1514]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebx + ebx*4]
and ecx, 3
lea eax, [eax + eax*4]
rep movsb byte es:[edi], byte [esi]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*8]
mov ecx, dword [0x557cf0]
push eax
push 0x6a
push 0x111
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14fc
ret
mov edx, dword [esp + 0x1514]
push str.No_error__E2_
push ebp
push edx
push ebx
call fcn.00454580
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14fc
ret
mov eax, dword [esp + 0x1514]
push str.Error_code__E2__in_DoOnLineDegradeAuth:_check_if_device_need_authorization
push 1
push eax
push ebx
call fcn.00454580
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14fc
ret