Function at 0x45d2ee
Capabilities:
Terminate process

Disassembly:
push edi
push esi
push eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x14]
mov dword [esp], ecx
push ecx
push eax
call fcn.00455c13
add esp, 8
mov esi, eax
push dword [0x48e058]
push 0x4a057c
call fcn.00455acb
add esp, 8
mov edi, eax
push 0x10
push eax
push esi
push dword [0x4b7668]
call dword [0x4b2e88]
push esi
call fcn.00410dcd
add esp, 4
push edi
call fcn.00410dcd
add esp, 4
push 1
call fcn.0047a10b
push ebp
push ebx
push edi
push esi
sub esp, 0x880
mov eax, dword [0x4b507c]
mov ecx, dword [esp + 0x898]
mov ebp, dword [esp + 0x8a0]
mov ebx, dword [esp + 0x89c]
mov edx, dword [esp + 0x894]
xor eax, esp
cmp ecx, 0x1ff
mov dword [esp + 0x87c], eax
jg 0x45d3fc
cmp ecx, 0xff
jle 0x45d461
lea eax, [ecx - 0x100]
cmp eax, 0x17
ja 0x45de9d
jmp dword [eax*4 + 0x49776c]
cmp ecx, 0x231
jle 0x45d489
cmp ecx, 0x30e
jg 0x45d54f
mov esi, edx
cmp ecx, 0x232
je 0x45d728
cmp ecx, 0x286
je 0x45d709
cmp ecx, 0x307
mov edx, esi
jne 0x45de9d
cmp byte [0x4b7610], 0
jne 0x45d455
push 2
push dword [0x4b7660]
call fcn.0045128c
add esp, 8
mov byte [0x4b7610], 0
jmp fcn.00460328
lea eax, [ecx - 1]
cmp eax, 0x14
ja 0x45d5ac
jmp dword [eax*4 + 0x497718]
lea eax, [ecx - 0x200]
cmp eax, 8
ja case.default.0x45d498
jmp dword [eax*4 + 0x4977cc]
lea eax, [ecx - 0x8002]
cmp eax, 4
ja case.default.0x45d55e
jmp dword [eax*4 + 0x4977f0]
cmp ecx, 0x214
je 0x45def9
cmp ecx, 0x231
jne 0x45de9d
push 1
mov esi, edx
call fcn.0041eae8
mov edx, esi
add esp, 4
mov byte [0x4b7630], 1
mov byte [0x4b7611], 0
jmp fcn.0045e027
cmp ecx, 0x51
je 0x45dffa
cmp ecx, 0xa0
jne 0x45de9d
cmp dword [0x4b7624], ebx
mov esi, edx
jne 0x45d5df
cmp dword [0x4b7628], ebp
jne 0x45d5df
cmp dword [0x4b7614], 0xa0
je 0x45d5fd
xor ecx, ecx
inc ecx
call fcn.004610de
mov dword [0x4b7624], ebx
mov dword [0x4b7628], ebp
mov dword [0x4b7614], 0xa0
push ebp
push 5
call fcn.00469a16
add esp, 8
jmp 0x45e025
test ebx, 0xff00
je 0x45e190
rol bx, 8
lea eax, [esp + 0x7c]
mov word [eax], bx
push 2
push eax
jmp 0x45e1a7
push 0
call fcn.0041eae8
add esp, 4
cmp byte [0x4b7611], 1
mov edx, esi
mov byte [0x4b7630], 0
jne fcn.0045e027
push 0x63
push dword [0x4b7678]
call fcn.00403281
add esp, 8
mov edi, eax
push 0x76
push dword [0x4b7678]
call fcn.00403281
add esp, 8
mov ebx, eax
push 0x77
push dword [0x4b7678]
call fcn.00403281
add esp, 8
push edi
push ebx
mov ebx, dword [esp + 0x8a4]
push eax
push dword [0x4b7660]
call fcn.0044ade4
add esp, 0x10
push 1
push 0
push esi
call dword [0x4b2e58]
jmp 0x45e025
cmp ecx, 0x30f
je 0x45e0f1
cmp ecx, 0x311
jne 0x45de9d
cmp ebx, edx
je fcn.0045e027
cmp dword [0x4b6ca8], 0
je fcn.0045e027
mov esi, edx
call fcn.0046301e
mov edx, esi
test eax, eax
je fcn.0045e027
mov edi, eax
push eax
call dword [0x4b2d28]
test eax, eax
je 0x45d7f6
push edi
call dword [0x4b2d60]
mov ecx, edi
call fcn.00463f5d
jmp 0x45e025
cmp dword [esp + 0x898], 0x20a
je 0x45debd
mov eax, dword [esp + 0x898]
cmp dword [0x4b5064], eax
jne fcn.0045e027
cmp dword [esp + 0x898], 0x20a
jne 0x45e8a1
mov esi, ebx
mov eax, ebx
and ebx, 8
sar esi, 0x10
shr al, 2
shr ebx, 3
add esi, dword [0x4b7634]
and al, 1
mov dword [esp + 4], ebx
mov dword [esp + 0x10], eax
mov dword [0x4b7634], esi
jmp 0x45e8da
push 0x72
push dword [0x4b7678]
call fcn.00403281
add esp, 8
cmp eax, 3
je 0x45e275
test eax, eax
je 0x45e335
push 0x83
push dword [0x4b7678]
call fcn.00403281
add esp, 8
mov esi, eax
mov edi, eax
mov eax, dword [0x4b7660]
mov ebx, dword [ebp + 8]
sub edi, dword [0x4b6c7c]
sub esi, dword [0x4b6c78]
mov ecx, dword [eax + 0x12c]
mov dword [esp], eax
mov dword [esp + 4], ebx
add edi, edi
add esi, esi
add edi, dword [0x4b6c70]
add esi, dword [0x4b6c74]
mov eax, ecx
mov dword [esp + 0x18], ecx
shr eax, 0x1f
add eax, ecx
mov ecx, dword [ebp]
sub ebx, edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], ebx
sar eax, 1
sub ebx, ecx
mov dword [esp + 8], ecx
add ebx, eax
mov eax, dword [esp]
mov ecx, dword [eax + 0x128]
mov eax, dword [ebp + 0xc]
mov ebp, dword [ebp + 4]
mov edx, ecx
mov dword [esp + 0xc], eax
sub eax, esi
mov dword [esp + 0x10], ebp
shr edx, 0x1f
mov dword [esp + 0x1c], eax
sub eax, ebp
add edx, ecx
sar edx, 1
add eax, edx
cdq
idiv ecx
mov ecx, dword [esp + 0x89c]
mov ebp, eax
mov eax, ebx
cdq
idiv dword [esp + 0x18]
add edi, dword [esp + 8]
sub ebx, edx
add edi, ebx
cmp ecx, 7
ja 0x45efff
mov eax, 0x92
bt eax, ecx
jae 0x45efff
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x8a0]
sub ecx, ebx
mov dword [eax], ecx
mov ebx, dword [0x4b7660]
jmp 0x45f00c
movzx eax, bp
lea edi, [esp + 0x7c]
push 0x14
push edi
push 0x1004
push eax
mov esi, edx
call dword [0x4b307c]
push edi
call fcn.0047c578
add esp, 4
mov dword [0x4b760c], eax
call fcn.00463fa1
mov edx, esi
xor ebx, ebx
cmp dword [0x4b6ca8], 0
je 0x46032a
call fcn.0046301e
test eax, eax
je 0x46032a
mov esi, eax
push eax
call dword [0x4b2d28]
test eax, eax
je 0x45e121
push esi
call dword [0x4b2d60]
mov ecx, esi
call fcn.00463f5d
xor ebx, ebx
inc ebx
jmp 0x46032a
lea esi, [esp + 0x7c]
mov byte [esi], bl
push dword [0x4b7660]
call fcn.004499ca
add esp, 4
push 1
push esi
push dword [0x4b760c]
push dword [0x4b7660]
call fcn.00451080
add esp, 0x10
jmp fcn.00460328
lea eax, [esp + 0x7c]
push eax
call dword [0x4b2e18]
test eax, eax
je 0x45e2a0
cmp byte [esp + 0x8e], 0
js 0x45df1a
cmp byte [esp + 0x121], 0
js 0x45df1a
cmp byte [0x4b7611], 0
jne 0x45e335
push 0x77
push dword [0x4b7678]
call fcn.00403281
add esp, 8
mov ecx, dword [0x4b7660]
mov ecx, dword [ecx + 0x128]
cmp eax, ecx
jne 0x45e2f1
push 0x76
push dword [0x4b7678]
call fcn.00403281
add esp, 8
mov ecx, dword [0x4b7660]
cmp eax, dword [ecx + 0x12c]
je 0x45e335
mov ecx, dword [ecx + 0x128]
push ecx
push 0x77
push dword [0x4b7678]
call fcn.004038b2
add esp, 0xc
mov eax, dword [0x4b7660]
push dword [eax + 0x12c]
push 0x76
push dword [0x4b7678]
call fcn.004038b2
add esp, 0xc
push 1
push 0
push dword [esp + 0x89c]
call dword [0x4b2e58]
mov byte [0x4b7611], 1
mov esi, dword [ebp + 8]
mov eax, ebp
mov ebp, dword [ebp + 0xc]
mov ecx, dword [0x4b6c68]
sub esi, dword [eax]
sub ebp, dword [eax + 4]
mov eax, ecx
shr eax, 0x1f
add eax, ecx
sar eax, 1
sub esi, dword [0x4b6c70]
sub ebp, dword [0x4b6c74]
add eax, esi
cdq
idiv ecx
mov ecx, dword [0x4b6c6c]
xor ebx, ebx
inc ebx
mov edi, eax
test eax, eax
cmovle edi, ebx
mov eax, ecx
shr eax, 0x1f
add eax, ecx
sar eax, 1
add eax, ebp
cdq
idiv ecx
test eax, eax
cmovg ebx, eax
push ebx
push edi
push dword [esp + 0x89c]
call fcn.0041e734
add esp, 0xc
imul ebx, dword [0x4b6c6c]
imul edi, dword [0x4b6c68]
mov ecx, dword [esp + 0x89c]
sub ebp, ebx
sub esi, edi
je 0x45f210
cmp ecx, 7
ja 0x45f206
mov eax, 0x92
bt eax, ecx
jae 0x45f206
mov eax, dword [esp + 0x8a0]
add dword [eax], esi
jmp 0x45f210
add dword [0x4b7634], ebx
lea esi, [esp + 0x7c]
push esi
call dword [0x4b2e18]
mov cl, byte [esi + 0x10]
shr cl, 7
cmp byte [esi + 0x11], 0
mov esi, dword [0x4b7634]
movzx ecx, cl
sets dl
test eax, eax
setne bl
cmove ecx, eax
and bl, dl
mov dword [esp + 0x10], ecx
mov dword [esp + 4], ebx
mov eax, esi
neg eax
cmovl eax, esi
xor ebx, ebx
cmp eax, 0x78
jl 0x46032a
mov eax, esi
movsx ecx, bp
sar ebp, 0x10
mov edi, 0xffffff88
xor ebx, ebx
shr eax, 0x1f
mov dword [esp + 0x18], ecx
mov dword [esp + 0xc], ebp
test esi, esi
setg cl
test esi, esi
jg 0x45e917
test al, 1
je 0x46032a
test esi, esi
mov eax, pe_nt_image_headers32
mov byte [esp], cl
cmovg eax, edi
add eax, esi
cmp byte [0x4b6cdd], 0
mov dword [0x4b7634], eax
je 0x45e952
push 0x95
push dword [0x4b7678]
call fcn.004031e1
add esp, 8
cmp byte [esp + 0x10], 0
je 0x45e97f
test al, al
je 0x45e97f
mov eax, dword [0x4b7660]
mov ecx, dword [eax + 0x128]
mov edx, ecx
neg edx
test esi, esi
cmovle edx, ecx
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sar ecx, 1
push ecx
push ebx
push eax
call fcn.0044bb94
add esp, 0xc
jmp 0x45ea67
mov eax, dword [esp + 0x18]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x3c], ebp
push eax
push dword [esp + 0x898]
call dword [0x4b2ec4]
test eax, eax
je 0x45ea67
mov cl, byte [esp]
xor eax, eax
mov edi, 8
mov al, cl
sub edi, eax
lea eax, [esp + 0x7c]
push eax
call dword [0x4b2e18]
test eax, eax
je 0x45e9d8
cmp byte [esp + 0x8e], 0
js 0x45e9e2
mov al, byte [esp + 0x121]
shr al, 7
jmp 0x45e9e4
mov dword [esp + 0x14], 0
jmp 0x45e9e8
mov al, 1
mov dword [esp + 0x14], eax
xor eax, eax
cmp byte [esp + 0x10], 0
mov edx, dword [esp + 0x3c]
mov esi, dword [0x4b6c6c]
mov ecx, dword [esp + 0x38]
setne al
mov dword [esp], eax
mov eax, edx
sub eax, esi
inc eax
test edx, edx
cmovns eax, edx
sub eax, dword [0x4b6c78]
cdq
idiv esi
mov esi, dword [0x4b6c68]
mov ebp, eax
mov eax, ecx
sub eax, esi
inc eax
test ecx, ecx
cmovns eax, ecx
mov ecx, edi
sub eax, dword [0x4b6c7c]
cdq
idiv esi
mov esi, eax
call fcn.004649bc
movzx ecx, byte [esp + 0x14]
movzx edx, byte [esp + 4]
push ecx
push edx
push dword [esp + 8]
push ebp
push esi
push 1
push eax
push edi
push dword [0x4b7660]
call fcn.0044c903
add esp, 0x24
mov ebp, dword [esp + 0xc]
mov edi, 0xffffff88
mov esi, dword [0x4b7634]
mov eax, esi
mov ecx, esi
shr eax, 0x1f
neg ecx
cmovl ecx, esi
cmp ecx, 0x77
jg 0x45e906
jmp 0x46032a
mov eax, dword [esp + 0x8a0]
mov ebx, dword [esp]
mov dword [eax + 8], edi
mov esi, dword [esp + 0x10]
imul ebp, dword [ebx + 0x128]
mov edx, dword [esp + 4]
xor ebx, ebx
add esi, dword [esp + 0x14]
xor edx, edi
mov ecx, esi
mov esi, dword [esp + 0xc]
add ecx, ebp
xor esi, ecx
or esi, edx
mov esi, dword [esp + 0x89c]
setne bl
add esi, 0xfffffffd
cmp esi, 2
ja 0x45f04f
mov ecx, dword [esp + 0x1c]
sub ecx, ebp
mov dword [eax + 4], ecx
jmp 0x46032a
mov dword [eax + 0xc], ecx
jmp 0x46032a
mov eax, dword [esp + 0x8a0]
sub dword [eax + 8], esi
test ebp, ebp
je 0x45f22b
mov eax, dword [esp + 0x8a0]
add ecx, 0xfffffffd
cmp ecx, 2
ja 0x45f228
add dword [eax + 4], ebp
jmp 0x45f22b
sub dword [eax + 0xc], ebp
xor ebx, ebx
or ebp, esi
setne bl
jmp 0x46032a
mov eax, dword [0x4b6cd4]
test eax, eax
je 0x46143e
xor esi, esi
push esi
push eax
push dword [ebx*4 + 0x4b6c90]
mov ebp, dword [0x4b2da4]
call ebp
push esi
push 0x200
push dword [ebx*4 + 0x4b6c90]
call ebp
test edi, edi
je 0x461474
push 0x4a4608
push edi
mov ebp, 0x10
push ebp
push ebp
push dword [ebx*4 + 0x4b6c90]
add byte [ebx + 0x4b2e5435], cl
add bh, bh
salc
add byte [ebx + 0x4b2e5435], cl
add bh, bh
salc
push 0
push 0x200
push 0x800
push ebp
push dword [ebx*4 + 0x4b6c90]
call esi
test ebx, ebx
mov ebx, 1
je 0x461413
mov dword [0x4b6cd4], edi
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
and al, 0xc
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], ebp
call fcn.0046304e
jmp 0x461882
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 4], ebx
add esi, dword [0x4b6c7c]
imul edi, ecx
add edi, dword [0x4b6c78]
bt eax, 0x1d
jb 0x46195d
test edx, edx
je 0x461afe
mov ebx, eax
and ebx, 0x60000000
je 0x461afe
cmp edx, 1
jne 0x461a28
add edi, dword [0x4b7234]
xor edx, edx
xor ecx, ecx
inc ecx
mov dword [esp + 0xc], ecx
jmp 0x461a4a
in eax, dx
add byte [eax], al
invalid
in eax, dx
add byte [eax], al
add byte [ebp - 0x74f08b2e], al
sbb eax, 0x4b7660
test edx, edx
je 0x461970
mov ebx, dword [0x4b7660]
cmp byte [ebx + 0x143], 0
je 0x46192a
mov eax, dword [esp + 4]
lea ebx, [esp + 0x10]
mov dword [ebx + 0x20], esi
mov dword [ebx + 8], esi
mov dword [ebx], esi
lea eax, [eax + esi - 1]
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x10], eax
lea eax, [ecx + edi - 1]
mov dword [ebx + 0x24], edi
mov dword [ebx + 0x1c], edi
mov dword [ebx + 4], edi
mov dword [ebx + 0x14], eax
mov dword [ebx + 0xc], eax
xor eax, eax
push dword [0x4b7214]
push eax
push eax
call dword [0x4b2cc4]
mov edi, dword [0x4b2d30]
push eax
push dword [0x4b6ce8]
call edi
mov esi, eax
push 5
push ebx
push dword [0x4b6ce8]
call dword [0x4b2d24]
push esi
push dword [0x4b6ce8]
call edi
jmp 0x461af7
mov ebx, dword [esp + 4]
lea edx, [eax*8]
mov dword [esp + 0xc], 0
mov dword [esp + 4], ecx
sar edx, 0x1f
dec ebx
and ebx, edx
add esi, ebx
xor edx, edx
inc edx
bt eax, 0x1e
jb 0x461a91
cmp dword [esp + 4], 0
jle 0x461afe
xor ebx, ebx
test bl, 1
jne 0x461a82
push dword [0x4b7214]
push edi
push esi
push dword [0x4b6ce8]
mov dword [esp + 0x18], edi
mov edi, edx
call dword [0x4b2d48]
mov edx, edi
mov edi, dword [esp + 8]
inc ebx
add esi, dword [esp + 0xc]
add edi, edx
cmp dword [esp + 4], ebx
jne 0x461a5d
jmp 0x461afe
xor eax, eax
push dword [0x4b7214]
push eax
push eax
mov ebx, edi
mov edi, edx
call dword [0x4b2cc4]
push eax
push dword [0x4b6ce8]
call dword [0x4b2d30]
mov dword [esp + 8], eax
xor eax, eax
push eax
push ebx
push esi
push dword [0x4b6ce8]
call dword [0x4b2d20]
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
imul edi, eax
imul ecx, eax
add edi, ebx
add ecx, esi
push edi
push ecx
push dword [0x4b6ce8]
call dword [0x4b2d1c]
push dword [esp + 8]
push dword [0x4b6ce8]
call dword [0x4b2d30]
push eax
call dword [0x4b2cd0]
mov ecx, dword [esp + 0x38]
xor ecx, ebp
call fcn.0046f2c8
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
dec ebx
add byte [ecx], dh
loopne 0x461b98
test byte [ecx + 0x46042444], 0xc7
add al, 0x24
add byte [eax], al
add byte [eax], al
cmp byte [0x4b7278], 0
je 0x461cb4
mov ebx, dword [esp + 0x1c]
mov eax, ebx
and eax, 0xffffff00
add bh, bh
invalid
invalid
cmp eax, 0xda00
je 0x461bad
add bh, bh
invalid
cmp eax, 0xd900
je 0x461bb9
cmp eax, 0xd800
jne 0x461bc6
movzx eax, bl
lea eax, [eax + eax + 0x4b6368]
jmp 0x461bc3
movzx eax, bl
lea eax, [eax + eax + 0x4b6168]
jmp 0x461bc3
movzx eax, bl
lea eax, [eax + eax + 0x4b6768]
movzx ebx, word [eax]
mov eax, ebx
and eax, 0xfffffe00
cmp eax, 0xf000
jne 0x461c14
cmp byte [0x4b615c], 0
jne 0x461cb4
movzx edi, bl
lea eax, [edi - 0x20]
cmp eax, 0x5f
jb 0x461cb4
and ebx, 0xffffff00
xor esi, esi
cmp ebx, 0xf000
je 0x461c60
cmp ebx, 0xf100
jne 0x461cb4
invalid
add bh, bh
xor eax, 0x4b6cfc
push dword [0x4b6cfc]
jmp 0x461c74
lea eax, [ebx - 0x20]
cmp eax, 0x5f
jb 0x461cb4
push dword [0x4b6cfc]
push dword [0x4b6ce8]
call dword [0x4b2d30]
mov esi, esp
push esi
push ebx
push ebx
push dword [0x4b6ce8]
call dword [0x4b2cec]
cmp eax, 1
je 0x461c96
push esi
push ebx
push ebx
push dword [0x4b6ce8]
call dword [0x4b2cf4]
xor esi, esi
cmp eax, 1
je 0x461c96
jmp 0x461cb4
mov ecx, 0x20
call fcn.00463e4e
mov eax, dword [0x4b6d7c]
test eax, eax
je 0x461cb4
push eax
push dword [0x4b6ce8]
call dword [0x4b2d30]
mov ebx, esp
push ebx
push edi
push edi
push dword [0x4b6ce8]
call dword [0x4b2ce8]
cmp eax, 1
jne 0x461cc8
mov ecx, dword [0x4b6c68]
mov edx, dword [esp]
mov eax, ecx
shr eax, 0x1f
add eax, ecx
sar eax, 1
lea eax, [eax + edx - 1]
cdq
idiv ecx
mov esi, eax
mov dword [esp], eax
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.0046f2c8
mov eax, esi
add esp, 8
pop esi
pop edi
pop ebx
ret
push ebx
push edi
push edi
push dword [0x4b6ce8]
call dword [0x4b2cf0]
jmp 0x461c59
cmp ecx, dword [0x4b506c]
jne 0x461d51
cmp eax, dword [0x4b5070]
jne 0x461d51
ret
mov dword [0x4b506c], ecx
mov dword [0x4b5070], eax
jmp fcn.00463fa1
mov eax, dword [esp + 0x28]
mov al, byte [eax + ebx]
test al, al
je 0x462867
cmp word [edi + edx*2], 0
je 0x462867
lea esi, [ebx + 1]
mov dword [esp], edx
cmp esi, ecx
jge 0x4623b9
cmp al, 0xd
jne 0x4623b9
mov edx, dword [esp + 0x28]
xor eax, eax
cmp byte [edx + ebx + 1], 0xa
sete al
cmovne esi, ebx
add dword [esp], eax
jmp 0x4623bb
mov esi, ebx
cmp dword [esp + 0x6ac], 0
je 0x4626dc
mov edi, dword [esp + 0x6b0]
test edi, edi
je 0x4623f2
cmp byte [edi + esi*8], 0
je 0x46240e
movzx eax, byte [edi + esi*8 + 3]
movzx ecx, word [edi + esi*8 + 1]
shl eax, 0x10
or eax, ecx
xor ebx, ebx
dec ebx
mov dword [esp + 0x14], ebx
jmp 0x462428
mov eax, dword [esp + 0x6ac]
mov edx, dword [eax + esi*4]
mov eax, edx
and eax, 0x1ff
xor edi, edi
dec edi
mov dword [esp + 0x14], eax
mov eax, edi
jmp 0x462456
mov eax, dword [esp + 0x6ac]
mov ecx, 0x1ff
mov eax, dword [eax + esi*4]
and eax, ecx
xor ebx, ebx
dec ebx
mov dword [esp + 0x14], eax
mov eax, ebx
cmp byte [edi + esi*8 + 4], 0
je 0x46244a
movzx edx, word [edi + esi*8 + 5]
movzx edi, byte [edi + esi*8 + 7]
shl edi, 0x10
or edi, edx
mov edx, dword [esp + 0x6ac]
mov edx, dword [edx + esi*4]
jmp 0x462461
mov edx, dword [esp + 0x6ac]
mov edi, ebx
mov edx, dword [edx + esi*4]
mov ebx, edx
shr ebx, 9
and ebx, 0x1ff
bt edx, 0x14
mov ecx, eax
cmovae ecx, edi
cmovae edi, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 4], ecx
mov ecx, eax
cmovae ecx, ebx
cmovae ebx, eax
mov ah, byte [0x4b6dfc]
test ah, ah
mov byte [esp + 0x1f], ah
je 0x4624b0
bt edx, 0x12
jae 0x4624b0
test ebx, ebx
js 0x4624b0
cmp ebx, 7
jg 0x46249f
add ebx, 8
jmp 0x4624b0
mov eax, ecx
xor ecx, ecx
cmp ebx, 0xff
setg cl
add ebx, ecx
mov ecx, eax
bt edx, 0x15
mov dword [esp + 0x24], edi
jae 0x4624c6
test ecx, ecx
js 0x4624c6
cmp ecx, 7
jg 0x4624ca
add ecx, 8
mov eax, ecx
jmp 0x4624d8
mov eax, ecx
xor ecx, ecx
cmp eax, 0xff
setg cl
add eax, ecx
mov ecx, dword [0x4b6cf4]
mov edi, edx
and edx, 0x40000
test ecx, ecx
cmove edx, ecx
bt edi, 0x14
mov dword [esp + 0x14], edx
mov edx, edi
jb 0x462548
cmp eax, 0xff
mov ecx, 0xffffffff
cmovg eax, ecx
cmp ebx, 0x100
cmovl ecx, ebx
cmp byte [esp + 0x1f], 0
je 0x462546
cmp ebx, 0x100
jl 0x462546
mov edx, dword [esp + 0x14]
mov dword [esp + 0x20], eax
cmp eax, 0xffffffff
mov ecx, 0x40000
mov eax, edx
cmove eax, ecx
mov ecx, dword [esp + 0x20]
test bl, 1
cmovne edx, eax
xor ebx, ebx
mov dword [esp + 0x14], edx
mov edx, edi
dec ebx
jmp 0x46254a
mov ebx, ecx
mov ecx, eax
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 4]
cmp dword [esp + 0x38], edi
jne 0x46255e
cmp dword [esp + 0x30], ebx
je 0x4625dc
cmp edi, 0xffffffff
mov dword [esp + 0x20], ecx
je 0x4625a7
mov dword [esp + 0x10], edx
mov dword [esp + 0x58], edi
push 0
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x10]
call fcn.00455172
add esp, 0xc
test eax, eax
je 0x462599
push dword [eax]
push 0x4ab162
push dword [esp + 0x14]
call fcn.00455eb0
add esp, 0xc
mov edx, dword [esp + 0x10]
mov dword [esp + 0x38], edi
mov dword [esp + 0x30], ebx
jmp 0x4625d4
mov edi, edx
test ebx, ebx
js 0x4625b3
mov eax, dword [esp + ebx*4 + 0x60]
jmp 0x4625b5
xor eax, eax
push eax
push 0x4ab162
push dword [esp + 0x14]
call fcn.00455eb0
add esp, 0xc
xor eax, eax
mov dword [esp + 0x30], ebx
mov edx, edi
dec eax
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 4]
cmp dword [esp + 0x34], eax
mov edi, dword [esp + 0x40]
jne 0x4625ec
cmp dword [esp + 0x2c], ecx
je 0x462668
cmp eax, 0xffffffff
mov dword [esp + 0x10], edx
je 0x462639
mov dword [esp + 0x20], ecx
mov dword [esp + 0x58], eax
push 0
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x10]
call fcn.00455172
add esp, 0xc
test eax, eax
je 0x462627
push dword [eax]
push 0x4ab154
push dword [esp + 0x14]
call fcn.00455eb0
add esp, 0xc
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], ecx
jmp 0x462664
test ecx, ecx
js 0x462643
mov eax, dword [esp + ecx*4 + 0x60]
jmp 0x462645
xor eax, eax
mov ebx, ecx
push eax
push 0x4ab154
push dword [esp + 0x14]
call fcn.00455eb0
add esp, 0xc
xor eax, eax
mov dword [esp + 0x2c], ebx
dec eax
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
and edx, 0x80000
cmp dword [esp + 0x44], ebx
je 0x4626a6
xor eax, eax
test ebx, ebx
mov dword [esp + 0x10], edx
mov ecx, 0x4ab185
mov edx, 0x4ab2b9
sete al
cmove ecx, edx
add eax, 3
push eax
push ecx
push ebp
call fcn.00410834
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov dword [esp + 0x44], ebx
cmp dword [esp + 0x48], edx
je 0x4626d8
xor eax, eax
test edx, edx
mov ebx, edx
mov ecx, 0x4ab139
mov edx, 0x4ab14b
sete al
cmove ecx, edx
lea eax, [eax*4 + 4]
push eax
push ecx
push ebp
call fcn.00410834
add esp, 0xc
mov dword [esp + 0x48], ebx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
mov ebp, dword [esp]
movzx eax, byte [eax + esi]
movzx eax, word [esp + eax*2 + 0x488]
cmp ax, word [edi + ebp*2]
jne 0x462711
xor eax, eax
mov dword [esp + 4], 0
mov byte [esp + 0x478], al
mov byte [esp + 0x5c], al
xor eax, eax
xor edi, edi
inc edi
jmp 0x462788
lea eax, [esp + ebp*2 + 0x488]
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
mov ebx, 1
push ebx
push eax
push ecx
push ecx
call dword [0x4b31c4]
mov ecx, edi
mov edi, eax
cmp eax, ebx
movzx eax, word [ecx + ebp*2]
jne 0x462760
push eax
push 0x4a527c
lea eax, [esp + 0x480]
push eax
call fcn.00403ecc
add esp, 0xc
mov edi, ebx
mov byte [esp + 0x5c], 0
mov dword [esp + 4], 0
jmp 0x462784
push eax
push edi
push 0x4a5276
lea eax, [esp + 0x484]
push eax
call fcn.00403ecc
add esp, 0x10
mov ecx, ebx
mov word [esp + 0x5c], 0x7d
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x3c]
lea edx, [edi + esi]
mov ebx, edx
cmp edx, ecx
jle 0x4627b4
push 0x148e
push 0x4aceae
push 0x4ae5a4
mov dword [esp + 0x1c], eax
call fcn.0047b5ef
mov eax, dword [esp + 0x1c]
add esp, 0xc
push eax
lea eax, [esp + 0x47c]
push eax
push ebp
call fcn.00410834
add esp, 0xc
test edi, edi
jle 0x462836
add esi, dword [esp + 0x28]
mov al, byte [esi]
cmp al, 0x5b
jle 0x4627fa
cmp al, 0x5c
je 0x4627e0
cmp al, 0x7d
je 0x4627e0
cmp al, 0x7b
jne 0x462818
push 0x5c
push ebp
call fcn.004108a5
add esp, 8
movzx eax, byte [esi]
push eax
push ebp
call fcn.004108a5
add esp, 8
jmp 0x462812
cmp al, 0xa
je 0x462802
cmp al, 0xd
jne 0x462818
push 6
push 0x4ab582
push ebp
call fcn.00410834
add esp, 0xc
inc esi
dec edi
jne 0x4627ce
jmp 0x462836
movzx eax, al
mov ecx, eax
add cl, 0xe0
cmp cl, 0x5f
jb 0x4627ee
push eax
push 0x49d3ed
push dword [esp + 0x14]
call fcn.00455eb0
jmp 0x46280f
push dword [esp + 4]
lea eax, [esp + 0x60]
push eax
push ebp
call fcn.00410834
add esp, 0xc
mov ecx, dword [esp + 0x18]
sbb byte [ebx + 0x6b42484], cl
add byte [eax], al
sbb byte [ebx + 0x6b42484], cl
add byte [eax], al
mov edi, dword [esp + 0x40]
mov edx, dword [esp]
cmp ebx, ecx
jge 0x462867
inc edx
cmp edx, eax
jl 0x46237b
mov esi, dword [esp + 0xc]
mov eax, esi
add eax, 0xc
push 3
push str.___End_of_CryptoCard_authentication_challenge_from_server:_____________________r_n
push eax
call fcn.00410834
add esp, 0xc
push dword [esi + 8]
push 0x2002
call dword [0x4b30d8]
mov edi, eax
test eax, eax
je 0x4628b5
push edi
call dword [0x4b30e0]
test eax, eax
je 0x4628b5
push dword [esi + 8]
push dword [esi + 4]
push eax
call fcn.004718e0
add esp, 0xc
push edi
call dword [0x4b30e8]
mov dword [esp], edi
push esi
call fcn.00455e30
add esp, 4
mov esi, dword [esp + 8]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x4c]
test esi, esi
je 0x46292b
push 0
push esi
call fcn.004551a6
add esp, 8
test eax, eax
je 0x462922
push eax
call fcn.00410dcd
add esp, 4
jmp 0x4628d1
push esi
call fcn.00454711
add esp, 4
mov esi, dword [0x4b30e8]
push ebp
call esi
push ebx
call esi
cmp byte [esp + 0x6b8], 0
jne 0x462956
push 0
push 1
push 0x8002
push dword [0x4b7668]
call dword [0x4b2ecc]
push dword [0x4b7668]
call dword [0x4b2e98]
test eax, eax
je 0x46299e
call dword [0x4b2dc8]
mov esi, dword [0x4b2ee0]
push ebp
push 0xd
call esi
push ebx
push 1
call esi
mov esi, dword [esp]
test esi, esi
je 0x462996
push 0x49e521
call dword [0x4b2eb4]
push esi
push eax
call dword [0x4b2ee0]
call dword [0x4b2d7c]
jmp 0x4629aa
mov esi, dword [0x4b30dc]
push ebp
call esi
push ebx
call esi
mov al, byte [esp + 0x6b8]
test al, al
jne 0x4629ca
xor eax, eax
push eax
push eax
push 0x8002
push dword [0x4b7668]
call dword [0x4b2ecc]
mov ecx, dword [esp + 0x688]
xor ecx, esp
call fcn.0046f2c8
add esp, 0x68c
pop esi
pop edi
pop ebx
pop ebp
ret
fisttp qword [edx]
call fcn.0047b5ef
add esp, 0xc
mov eax, esp
xor ecx, ecx
push eax
push ecx
push dword [0x4b7668]
push 0x463fad
push ecx
push ecx
call dword [0x4b2ff4]
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.0046f2c8
add esp, 8
ret