Function at 0x460c65fc
Capabilities:
Resolve function by parsing pe exports
Validate payment card number using luhn algorithm

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
push edi
mov edi, ecx
mov edx, 0x100
mov dword [ebp - 0x18], edi
movzx eax, word [edi + 0x252]
mov esi, dword [edi + 0x9c]
mov ebx, dword [edi + 0x60]
mov dword [ebp - 0xc], esi
test ax, ax
je 0x460c665b
movzx ecx, word [edi + 0x64]
cmp cx, dx
je 0x460c665b
add edx, 5
cmp cx, dx
je 0x460c665b
mov edx, 0x106
cmp cx, dx
je 0x460c665b
mov edx, 0x1d9
cmp cx, dx
je 0x460c665b
dec eax
mov word [edi + 0x252], ax
jmp case.0x460c66aa.426
movzx ecx, word [edi + 0x64]
xor edx, edx
mov eax, ecx
mov dword [ebp - 8], eax
add eax, 0xfffffe34
cmp eax, 0x1d
ja 0x460c6683
cmp dword [edi + 0x220], edx
jne 0x460c6683
push 0x10
pop eax
mov dword [edi + 0x20], eax
jmp 0x460c7fc8
mov eax, ecx
lea esi, [eax - 0x100]
mov dword [ebp - 0x1c], esi
cmp esi, 0xed
mov esi, dword [ebp - 0xc]
ja case.default.0x460c66aa
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
inc ecx
movzx eax, byte [eax + 0x460c81ec]
jmp dword [eax*4 + 0x460c7fd0]
xor eax, eax
mov word [edi + 0x32], ax
mov eax, 0xfde9
or dword [edi + 0x30], 0xfde90020
cmp dword [esi + 0xc], eax
je case.0x460c66aa.267
mov dword [esi + 0xc], eax
jmp case.0x460c66aa.267
or dword [edi + 0x30], 0x800
jmp case.0x460c66aa.267
mov eax, dword [edi + 0x30]
test eax, 0x8000
jne case.0x460c66aa.426
and eax, 0xffff0020
cmp eax, 0xfde90020
jne case.0x460c66aa.426
mov ecx, dword [edi + 0x24]
push ebx
call fcn.460a1062
jmp case.0x460c66aa.426
mov eax, dword [edi + 0x30]
and eax, 0xa000
cmp eax, 0x2000
jne case.0x460c66aa.426
mov ecx, dword [edi + 0x24]
push ebx
call fcn.460a11b1
jmp case.0x460c66aa.426
push esi
mov ecx, edi
call fcn.460c585b
jmp case.0x460c66aa.426
mov byte [edi + 0x5c], dl
jmp case.0x460c66aa.426
mov word [edi + 0x198], bx
cmp word [esi], dx
jne case.0x460c66aa.426
mov word [esi], bx
jmp case.0x460c66aa.426
mov word [edi + 0x19a], bx
jmp case.0x460c66aa.426
mov word [edi + 0x19c], bx
jmp case.0x460c66aa.426
test ebx, ebx
js case.0x460c66aa.426
cmp dword [edi + 4], edx
jne 0x460c6793
push edx
push 1
mov ecx, edi
call fcn.46086f15
test eax, eax
je 0x460c7bf6
xor edx, edx
mov word [edi + 0x194], bx
push edx
mov ecx, edi
call fcn.460864a0
mov word [eax], bx
jmp case.0x460c66aa.426
test ebx, ebx
js case.0x460c66aa.426
xor eax, eax
inc eax
cmp dword [edi + 4], eax
jne case.0x460c66aa.426
push edx
push eax
mov ecx, edi
call fcn.46086f15
test eax, eax
je 0x460c7bf6
xor esi, esi
mov word [edi + 0x196], bx
inc esi
push esi
jmp 0x460c679b
or dword [esi + 0x14], 0xffffffff
push 2
pop eax
mov word [esi + 0xa], ax
jmp case.0x460c66aa.426
push esi
mov ecx, edi
call fcn.460c64eb
test eax, eax
je case.0x460c66aa.426
mov dl, byte [edi + 0x64]
mov cl, byte [eax + 3]
add dl, 6
and cl, 0xf
shl dl, 4
or dl, cl
mov ecx, 0x120
mov byte [eax + 3], dl
cmp cx, word [edi + 0x64]
jne case.0x460c66aa.426
cmp byte [eax + 2], 1
jne case.0x460c66aa.426
mov byte [eax + 2], 2
jmp case.0x460c66aa.426
push esi
mov ecx, edi
call fcn.460c64eb
test eax, eax
je case.0x460c66aa.426
mov cl, byte [eax + 3]
and cl, 0xf0
or cl, bl
mov byte [eax + 3], cl
jmp case.0x460c66aa.426
test byte [edi + 0x30], 0x20
jne case.0x460c66aa.426
push ebx
mov ecx, esi
mov dword [edi + 0x200], ebx
call fcn.460c4f6b
jmp case.0x460c66aa.426
push ebx
mov ecx, esi
call fcn.460c4f6b
push esi
mov ecx, edi
call fcn.460c64eb
cmp word [esi + 0xa], 2
mov dword [ebp - 0x1c], eax
jne case.0x460c66aa.426
test eax, eax
je case.0x460c66aa.426
xor edx, edx
mov word [eax + 0x48], bx
mov ecx, ebx
call fcn.460e927e
mov ecx, dword [ebp - 0x1c]
mov byte [ecx + 2], al
cmp dword [edi + 0x200], 0xffffffff
jne case.0x460c66aa.426
mov dword [edi + 0x200], ebx
jmp case.0x460c66aa.426
push esi
mov ecx, edi
call fcn.460c64eb
mov dword [ebp - 0x1c], eax
test eax, eax
je case.0x460c66aa.426
mov cl, bl
mov byte [eax + 2], bl
call fcn.460e9324
mov edx, dword [ebp - 0x1c]
movzx ecx, ax
mov word [edx + 0x48], cx
movsx ecx, cx
push ecx
mov ecx, esi
call fcn.460c4f6b
mov eax, dword [esi + 0xc]
or ecx, 0xffffffff
cmp eax, 0x2a
je 0x460c690b
cmp dword [edi + 0x200], ecx
jne 0x460c690b
mov dword [edi + 0x200], eax
xor esi, esi
movzx eax, bl
sub eax, 0xb1
inc esi
cmp eax, esi
ja 0x460c698e
movzx eax, word [edi + 0x196]
cmp ax, cx
jne 0x460c692b
mov ax, word [edx]
jmp 0x460c6971
movzx ecx, word [edx]
mov dword [ebp - 0x1c], ecx
cmp ax, cx
je 0x460c6978
push 0
mov ecx, edi
call fcn.460864a0
mov ecx, eax
mov eax, dword [edi + 4]
test eax, eax
je 0x460c695c
movzx edx, word [edi + 0x196]
dec eax
cmp dx, word [ecx]
je 0x460c695d
add ecx, 0x4c
test eax, eax
jne 0x460c694f
dec eax
test eax, eax
js 0x460c6978
movzx eax, byte [ecx + 2]
sub eax, 0xb1
cmp eax, esi
jbe 0x460c6978
mov eax, dword [ebp - 0x1c]
mov word [edi + 0x196], ax
movzx eax, byte [edi + 0x258]
sub eax, 0xb1
cmp eax, esi
jbe 0x460c698e
mov byte [edi + 0x258], bl
mov ebx, 0x100
or word [edi + 0x190], bx
jmp case.0x460c66aa.426
push 0xe
pop eax
mov word [esi + 0xa], ax
jmp case.0x460c66aa.426
test dword [esi + 4], 0x300
jne 0x460c69d2
or eax, 0xffffffff
cmp word [edi + 0x196], ax
je case.0x460c66aa.426
test dword [esi + 4], 0x400
jne 0x460c6a19
jmp case.0x460c66aa.426
mov esi, dword [edi + 4]
mov ecx, edi
push edx
call fcn.460864a0
jmp 0x460c69ea
movsx ecx, word [eax]
dec esi
cmp ebx, ecx
je 0x460c69ef
add eax, 0x4c
test esi, esi
jne 0x460c69df
dec esi
test esi, esi
js case.0x460c66aa.426
mov cl, byte [eax + 2]
movzx eax, cl
sub eax, 0xb1
cmp eax, 1
ja case.0x460c66aa.426
mov byte [edi + 0x258], cl
jmp case.0x460c66aa.426
or eax, 0xffffffff
cmp ebx, eax
je case.0x460c66aa.424
and dword [esi + 4], 0xfffffbff
cmp word [esi + 0xa], 2
jne 0x460c6a9f
movsx eax, word [edi + 0x194]
xor ecx, ecx
inc ecx
cmp ebx, eax
jne 0x460c6a49
or word [edi + 0x190], 0x20
mov ecx, edx
jmp 0x460c6a6b
movsx eax, word [edi + 0x196]
cmp ebx, eax
je 0x460c6a6b
lea eax, [ebp - 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.46086f15
test eax, eax
je 0x460c7bf6
mov ecx, dword [ebp - 0x1c]
mov dword [esi + 0x14], ecx
mov ecx, edi
push esi
call fcn.460c64eb
mov edx, eax
test edx, edx
je case.0x460c66aa.426
xor eax, eax
mov word [edx], bx
mov word [edx + 6], ax
or ecx, 0xffffffff
mov word [edx + 2], 1
mov word [edx + 0x4a], ax
mov word [edx + 0x48], cx
jmp case.0x460c66aa.426
cmp dword [edi + 4], edx
je case.0x460c66aa.426
push ebx
mov ecx, edi
call fcn.460c56ec
jmp 0x460c69f7
imul eax, ebx, 0xa
or dword [edi + 0xa8], 0x80000000
mov word [edi + 0x3c], ax
jmp case.0x460c66aa.426
or dword [esi + 4], 8
movzx ecx, bx
mov word [esi], bx
mov dword [edi + 0x4c], ecx
call fcn.460e8f3a
test eax, eax
je 0x460c6af7
mov ecx, ebx
call fcn.460e8e51
xor edx, edx
mov ecx, eax
call fcn.460e927e
mov byte [edi + 0x258], al
or dword [edi + 0xa8], 0x2000000
jmp case.0x460c66aa.426
xor eax, eax
inc eax
mov word [esi + 0xa], ax
mov eax, 0xfff7
and word [edi + 0x190], ax
jmp case.0x460c66aa.426
mov byte [esi + 0x18], bl
or word [edi + 0x190], 8
jmp case.0x460c66aa.426
mov byte [esi + 0x19], bl
jmp 0x460c6b21
mov byte [esi + 0x1a], bl
jmp 0x460c6b21
push 0x40000000
mov ecx, edi
call fcn.460c5b13
mov ecx, dword [edi + 0x9c]
mov dword [edi + 0x40], eax
test byte [ecx + 4], 1
je case.0x460c66aa.426
cmp eax, 0xffffff
jne case.0x460c66aa.426
and dword [edi + 0x40], 0
jmp case.0x460c66aa.426
push 0x4000000
mov ecx, edi
call fcn.460c5b13
mov dword [edi + 0x48], eax
jmp case.0x460c66aa.426
or dword [edi + 0xa8], 0x200000
mov word [edi + 0x46], bx
jmp case.0x460c66aa.426
push 0x13
pop ebx
cmp word [esi + 0xa], bx
je 0x460c7d1e
jmp case.0x460c66aa.426
or dword [edi + 0xa8], 0x40000
mov byte [edi + 0x55], bl
jmp case.0x460c66aa.426
imul eax, ebx, 0xa
or dword [edi + 0xa8], 0x100000
mov word [edi + 0x52], ax
jmp case.0x460c66aa.426
push 0xf
pop eax
mov word [esi + 0xa], ax
lea ecx, [ebp - 0xc]
mov eax, dword [edi + 0x30]
and eax, 0x8000
mov dword [ebp - 0xc], edx
neg eax
sbb eax, eax
not eax
and eax, ecx
mov ecx, edi
push eax
call fcn.460c8dc3
test eax, eax
je 0x460c6c17
cmp dword [ebp - 0xc], 0
je case.0x460c66aa.426
push dword [ebp - 0xc]
mov ecx, dword [edi + 0x24]
call fcn.460d9dcd
test eax, eax
je case.0x460c66aa.426
mov ecx, dword [ebp - 0xc]
jmp 0x460c6c22
mov ecx, dword [ebp - 0xc]
test ecx, ecx
je case.0x460c66aa.426
call fcn.460e9cb0
jmp case.0x460c66aa.426
push 0x10
pop eax
mov word [esi + 0xa], ax
lea ecx, [ebp - 0xc]
mov eax, dword [edi + 0x30]
and eax, 0x8000
mov dword [ebp - 0xc], edx
neg eax
sbb eax, eax
not eax
and eax, ecx
mov ecx, edi
push eax
call fcn.460c8dc3
test eax, eax
je 0x460c6c17
cmp dword [ebp - 0xc], 0
je case.0x460c66aa.426
push dword [ebp - 0xc]
mov ecx, dword [edi + 0x24]
call fcn.460d9d88
jmp 0x460c6c0a
push 0x11
jmp 0x460c69a1
mov al, byte [edi + 0x64]
sub al, 0x3c
mov byte [edi + 0x54], al
mov eax, 0x12f
mov word [edi + 0x64], ax
jmp 0x460c6c89
mov byte [edi + 0x54], cl
or dword [edi + 0xa8], 0x800000
movzx ecx, word [edi + 0x64]
xor edx, edx
sub ecx, 0x12d
inc edx
shl edx, cl
or dword [edi + 0xa8], edx
mov eax, edx
not eax
and dword [edi + 0x34], eax
cmp byte [edi + 0x6c], 0
je 0x460c6cbd
test ebx, ebx
je case.0x460c66aa.426
or dword [edi + 0x34], edx
jmp case.0x460c66aa.426
mov edx, 0x200000
mov dword [edi + 0xac], edx
jmp 0x460c6ca8
and dword [edi + 0x34], 0xfffffffb
or dword [edi + 0xa8], 4
jmp case.0x460c66aa.426
test ebx, ebx
jle case.0x460c66aa.426
and dword [edi + 0x34], 0xbfffffff
lea eax, [ebx - 1]
or dword [edi + 0xa8], 0x40000000
and eax, 7
mov eax, dword [eax*4 + 0x46085054]
mov dword [edi + 0x40], eax
jmp case.0x460c66aa.426
push 0xa
jmp 0x460c6d16
push 0xfffffffffffffff6
pop eax
cmp byte [edi + 0x6c], dl
jne 0x460c6d1f
push 6
pop ebx
imul eax, ebx
or dword [edi + 0xa8], 0x10000000
mov word [edi + 0x3e], ax
jmp case.0x460c66aa.426
mov edx, 0x20000
jmp case.0x460c66aa.330
mov edx, 0x10000
mov eax, dword [edi + 0x34]
or dword [edi + 0xa8], 0x30000
and eax, 0xfffcffff
or eax, edx
mov dword [edi + 0x34], eax
jmp case.0x460c66aa.426
push 0x13
pop eax
mov word [esi + 0xa], ax
xor eax, eax
mov word [edi + 0x82], ax
jmp case.0x460c66aa.426
mov byte [edi + 0x254], 4
test byte [esi + 4], 1
jne 0x460c6dc4
mov esi, dword [edi + 0xec]
cmp esi, 0x1f
ja 0x460c6dbd
cmp ebx, 0x1000000
jae 0x460c6dbd
movzx ecx, byte [edi + 0x255]
and ebx, 0xffffff
movzx eax, byte [edi + 0x254]
shl ecx, 4
add ecx, eax
shl ecx, 0x18
add ecx, ebx
mov dword [edi + esi*4 + 0xfc], ecx
inc dword [edi + 0xec]
or dword [edi + 0xe8], 0x10
mov word [edi + 0x254], dx
jmp case.0x460c66aa.426
mov al, byte [edi + 0x64]
add al, 0x6a
mov byte [edi + 0x254], al
jmp case.0x460c66aa.426
mov al, byte [edi + 0x64]
add al, 0x6f
mov byte [edi + 0x255], al
jmp case.0x460c66aa.426
mov ecx, dword [ebp - 8]
xor eax, eax
inc eax
add ecx, 0xfffffe9e
shl ax, cl
or word [edi + 0xb2], ax
movzx eax, ax
shl eax, 0x10
or dword [edi + 0xe8], eax
jmp case.0x460c66aa.426
mov eax, 0xfffe
and word [edi + 0xb2], ax
or dword [edi + 0xe8], 0x10000
jmp case.0x460c66aa.426
mov eax, ebx
test ebx, ebx
jns 0x460c6e3a
neg eax
mov dword [edi + 0xcc], eax
test ebx, ebx
je 0x460c6e56
cmp ebx, 0x3e8
je 0x460c6e56
xor edx, edx
test ebx, ebx
setle dl
add edx, 3
mov byte [edi + 0xd2], dl
mov ebx, 0x100
or dword [edi + 0xe8], ebx
jmp case.0x460c66aa.426
cmp byte [edi + 0xd2], 4
jne case.0x460c66aa.426
mov byte [edi + 0xd2], 3
jmp case.0x460c66aa.426
test ebx, ebx
je case.0x460c66aa.426
mov eax, dword [edi + 0xcc]
push 0xc
cdq
pop ecx
idiv ecx
mov byte [edi + 0xd2], 5
mov dword [edi + 0xcc], eax
jmp 0x460c6e5c
or dword [edi + 0xe8], 0x40
mov dword [edi + 0xc4], ebx
jmp case.0x460c66aa.426
or dword [edi + 0xe8], 0x80
mov dword [edi + 0xc8], ebx
jmp case.0x460c66aa.426
mov word [edi + 0x82], bx
cmp word [esi + 0xa], 0x13
je case.0x460c66aa.426
or ecx, 0xffffffff
or byte [edi + 0xd3], 1
mov word [edi + 0xd0], cx
movzx eax, byte [edi + edx + 0x78]
cmp ebx, eax
je 0x460c6f01
inc edx
cmp edx, 0xa
jl 0x460c6ef2
cmp edx, 0xa
jge 0x460c6f19
sub ecx, edx
dec dl
add dl, dl
mov word [edi + 0xd0], cx
mov byte [edi + 0xd3], dl
or dword [edi + 0xe8], 0xd7fffdff
jmp case.0x460c66aa.426
mov eax, dword [edi + 0xbc]
add eax, ebx
neg ebx
add dword [edi + 0xb4], eax
or dword [edi + 0xe8], 5
mov dword [edi + 0xbc], ebx
jmp case.0x460c66aa.426
movzx ecx, word [edi + 0xb2]
xor edx, edx
movzx esi, word [edi + 0x64]
inc edx
xor eax, eax
mov dword [ebp - 0x1c], 0x154
and ecx, edx
cmp si, word [ebp - 0x1c]
sete al
cmp ecx, eax
je 0x460c6f85
sub ebx, dword [edi + 0xbc]
or dword [edi + 0xe8], edx
mov dword [edi + 0xb4], ebx
jmp case.0x460c66aa.426
or dword [edi + 0xe8], 2
mov dword [edi + 0xb8], ebx
jmp case.0x460c66aa.426
test byte [esi + 4], 1
jne case.0x460c66aa.426
mov al, byte [edi + 0x64]
sub al, 0x55
or dword [edi + 0xe8], 8
mov byte [edi + 0xc0], al
jmp case.0x460c66aa.426
mov eax, dword [ebp - 8]
mov ecx, dword [edi + 0xe4]
add eax, 0xfffffea1
bts ecx, eax
mov dword [edi + 0xe4], ecx
mov dword [edi + 0x180], ecx
jmp case.0x460c66aa.426
mov eax, 0x400
mov byte [edi + 0x256], dl
or word [edi + 0xb2], ax
or dword [edi + 0xe8], 0x4000000
jmp case.0x460c66aa.426
mov al, byte [edi + 0x64]
sub al, 0x6b
mov byte [edi + 0x256], al
jmp case.0x460c66aa.426
cmp byte [edi + 0x256], 4
jae case.0x460c66aa.426
mov eax, dword [ebp - 8]
add eax, 0xfffffe8a
push eax
lea eax, [edi + 0xe2]
push eax
mov ecx, edi
call fcn.460c65ab
jmp case.0x460c66aa.426
mov bl, byte [edi + 0x256]
cmp bl, 4
jae case.0x460c66aa.426
mov ecx, edi
call fcn.460c5b5b
movzx ecx, bl
imul ecx, ecx, 5
push 0x1f
pop edx
shl edx, cl
not edx
shl eax, cl
and edx, dword [edi + 0xe4]
or edx, eax
mov dword [edi + 0xe4], edx
mov dword [edi + 0x180], edx
jmp case.0x460c66aa.426
mov cl, byte [edi + 0x256]
cmp cl, 4
jae 0x460c709c
lea eax, [ebx - 1]
cmp eax, 3
ja 0x460c708a
xor eax, eax
inc eax
jmp 0x460c7093
lea eax, [ebx + 5]
push 0xa
cdq
pop ecx
idiv ecx
push eax
lea eax, [edi + 0xe0]
jmp 0x460c7027
lea eax, [ebx + 0xa]
cdq
push 0x14
pop esi
idiv esi
mov edx, eax
xor eax, eax
inc eax
cmp edx, eax
jg 0x460c70b0
mov edx, eax
cmp edx, 3
jl 0x460c70b8
push 3
pop edx
movzx eax, cl
lea ecx, [eax*2 - 8]
shl dl, cl
or byte [edi + 0x257], dl
jmp case.0x460c66aa.426
cmp byte [edi + 0x256], 4
jae case.0x460c66aa.426
push 0x14
mov eax, ebx
cdq
pop ecx
idiv ecx
push eax
lea eax, [edi + 0xde]
jmp 0x460c7027
mov cx, word [edi + 0xd6]
mov eax, 0xffc0
and cx, ax
movzx eax, word [edi + 0x64]
add eax, 0xfffffe7d
or cx, ax
mov word [edi + 0xd6], cx
or dword [edi + 0xe8], 0x1000
jmp case.0x460c66aa.426
mov ecx, edi
call fcn.460c5b5b
shl eax, 0xb
mov edx, 0x7ff
mov cx, word [edi + 0xd6]
and cx, dx
or ax, cx
mov word [edi + 0xd6], ax
jmp 0x460c7112
mov ecx, edi
call fcn.460c5b5b
shl eax, 6
mov edx, 0xf83f
jmp 0x460c7130
mov word [edi + 0xd4], bx
jmp 0x460c7112
and dword [esi + 4], 0xfffffffd
push 0xc
pop eax
mov word [esi + 0xa], ax
xor eax, eax
inc eax
mov word [edi + 0xd8], ax
or dword [edi + 0xe8], 0x8000
jmp case.0x460c66aa.426
cmp word [esi + 0xa], 0xc
jne case.0x460c66aa.426
mov word [esi + 8], bx
jmp case.0x460c66aa.426
cmp word [esi + 0xa], 0xc
jne case.0x460c66aa.426
mov word [edi + 0xd8], bx
jmp 0x460c7175
mov ecx, dword [edi + 0x28]
add ecx, 0x2c
call fcn.460cd601
mov esi, dword [edi + 0x28]
lea ecx, [esi + 4]
call fcn.460c323b
lea ecx, [esi + 0x2c]
mov ax, word [eax]
mov word [edi + 0xb0], ax
call fcn.460cd626
or dword [edi + 0xe8], 0x20
mov eax, 0x400
mov word [edi + 0x250], ax
mov eax, dword [ebp - 0xc]
or dword [eax + 4], 2
jmp case.0x460c66aa.426
xor eax, eax
mov word [edi + 0x250], ax
mov eax, 0x1a1
mov word [edi + 0x64], ax
jmp 0x460c7226
xor eax, eax
mov word [edi + 0x250], ax
jmp 0x460c7226
cmp word [edi + 0xb0], 1
jne 0x460c7226
test byte [esi + 4], 2
jne case.0x460c66aa.426
cmp word [esi + 0xa], 0xc
jne case.0x460c66aa.426
mov ax, word [edi + 0x64]
mov ecx, 0x19f
or dword [edi + 0xe8], 0x20
sub ax, cx
mov word [edi + 0xb0], ax
or dword [esi + 4], 2
jmp case.0x460c66aa.426
mov dword [edi + 0x204], edx
push 0xd
jmp 0x460c69a1
mov ax, word [edi + 0x250]
mov edx, 0xfffc
movzx ecx, word [edi + 0x64]
and ax, dx
add ecx, 0xfffffe63
or cx, ax
mov word [edi + 0x250], cx
jmp case.0x460c66aa.426
mov eax, 0x400
test word [edi + 0x190], ax
je 0x460c729e
mov dword [edi + 0x20], 6
mov ecx, dword [edi + 0xe8]
movzx edx, word [edi + 0x188]
or ecx, 0x10
mov dword [edi + 0xe8], ecx
test dx, dx
je 0x460c72f4
mov eax, dword [edi + 0x180]
or ecx, 0x800
mov dword [edi + 0xe4], eax
mov ax, word [edi + 0x184]
mov word [edi + 0xe2], ax
mov ax, word [edi + 0x186]
mov word [edi + 0xde], ax
mov word [edi + 0xe0], dx
mov dword [edi + 0xe8], ecx
mov al, byte [edi + 0x19e]
or dword [edi + 0xe8], 0x4000000c
mov byte [edi + 0xc0], al
mov eax, dword [edi + 0x17c]
mov dword [edi + 0xb4], eax
mov eax, dword [edi + 0xf0]
mov dword [edi + 0xbc], eax
mov eax, 0x4000
or word [edi + 0xb2], ax
or dword [esi + 4], 1
jmp case.0x460c66aa.426
mov eax, 0x400
test word [edi + 0x190], ax
jne 0x460c743b
test byte [esi + 4], 1
je case.0x460c66aa.426
mov eax, dword [edi + 0xf4]
dec eax
cmp eax, 0x1e
ja 0x460c73a1
movzx eax, word [edi + 0x18a]
test ax, ax
js 0x460c73a1
mov ecx, dword [0x460eca60]
cwde
cmp eax, dword [ecx + 4]
jge 0x460c73a1
push eax
call fcn.460864a0
mov edx, eax
test edx, edx
je 0x460c73a1
mov ecx, dword [edx]
mov dword [edi + 0xf4], ecx
test ecx, ecx
je 0x460c73a1
mov eax, dword [edx + 4]
sub ecx, 1
mov eax, dword [eax + ecx*4]
mov dword [edi + ecx*4 + 0xfc], eax
jne 0x460c738f
mov eax, dword [edi + 0xf8]
cmp eax, dword [edi + 0xf4]
jge case.0x460c66aa.426
inc eax
mov dword [edi + 0xf8], eax
push 9
jmp 0x460c7fbe
mov dword [edi + 0xf0], ebx
jmp case.0x460c66aa.426
mov ecx, dword [edi + 0xf4]
cmp ecx, 0x1f
ja case.0x460c66aa.426
test ecx, ecx
jne 0x460c7409
mov ax, word [edi + 0xe2]
mov word [edi + 0x184], ax
mov ax, word [edi + 0xde]
mov word [edi + 0x186], ax
mov ax, word [edi + 0xe0]
mov word [edi + 0x188], ax
movzx eax, byte [edi + 0x257]
shl eax, 0x18
add eax, ebx
mov dword [edi + ecx*4 + 0xfc], eax
inc dword [edi + 0xf4]
mov byte [edi + 0x257], dl
jmp case.0x460c66aa.426
mov eax, 0x400
test word [edi + 0x190], ax
je 0x460c7447
mov dword [edi + 0x20], 6
jmp case.0x460c66aa.426
mov eax, dword [edi + 0x28]
xor ebx, ebx
mov ecx, dword [edi + 0x240]
inc ebx
or esi, 0xffffffff
cmp ecx, dword [eax + 0x18]
jne 0x460c7498
cmp dword [edi + 0xa4], ecx
je 0x460c7498
mov eax, dword [edi + 0x24]
mov ecx, edi
test dword [eax + 0x60], 0x80000
je 0x460c747f
push esi
push ebx
push 0x46084c81
call fcn.460c5cb2
jmp 0x460c7486
push 0xd
call fcn.460c5b88
xor edx, edx
test eax, eax
jne 0x460c7498
mov eax, dword [edi + 0x28]
mov eax, dword [eax + 0x18]
mov dword [edi + 0xa4], eax
xor eax, eax
mov dword [edi + 0xf4], edx
mov dword [edi + 0xf0], edx
mov dword [edi + 0x17c], edx
mov byte [edi + 0x257], dl
mov word [edi + 0x188], ax
mov dword [edi + 0x180], edx
mov byte [edi + 0x19e], bl
mov word [edi + 0x18a], si
jmp case.0x460c66aa.426
mov dword [edi + 0x17c], ebx
jmp case.0x460c66aa.426
mov al, byte [edi + 0x64]
add al, 0x49
mov byte [edi + 0x19e], al
jmp case.0x460c66aa.426
cmp word [edi + 0xb0], dx
jne case.0x460c66aa.426
test byte [esi + 4], 1
mov ecx, edi
je 0x460c7508
push 0x20
jmp 0x460c7fc0
mov dword [edi + 0xf4], edx
call fcn.460c5be7
jmp case.0x460c66aa.426
mov eax, dword [edi + 0xf8]
cmp eax, dword [edi + 0xf4]
jge 0x460c7545
push 9
mov ecx, edi
call fcn.460c5b88
inc dword [edi + 0xf8]
mov eax, dword [edi + 0xf8]
cmp eax, dword [edi + 0xf4]
jl 0x460c7526
xor edx, edx
mov dword [edi + 0xf8], edx
mov ecx, edi
jmp 0x460c750e
movzx ecx, word [esi + 0xa]
movsx eax, cx
dec eax
cmp eax, 7
ja 0x460c7568
mov dword [edi + 0x20], 0xe
jmp case.0x460c66aa.426
cmp cx, 0xd
je case.0x460c66aa.426
mov bl, byte [edi + 0xd3]
lea ecx, [edi + 0xb0]
xor eax, eax
cmp byte [edi + 0x192], 2
sete al
movzx eax, ax
push eax
call fcn.4608bc3b
and dword [esi + 4], 0xfffffffc
xor eax, eax
mov word [esi + 8], ax
or bl, 1
mov dword [edi + 0xec], eax
mov word [edi + 0x254], ax
mov byte [edi + 0x256], al
mov eax, 0x1b0
mov byte [edi + 0xd3], bl
mov dword [edi + 0xe8], 0xd7fffdff
cmp ax, word [edi + 0x64]
jne case.0x460c66aa.426
mov dword [edi + 0xe8], 0x57fffde8
jmp case.0x460c66aa.426
movzx eax, word [esi + 0xa]
cmp ax, 0x11
je case.0x460c66aa.424
cmp ax, 0x10
je case.0x460c66aa.424
cmp ax, 0xf
je case.0x460c66aa.424
test byte [esi + 4], 0x10
jne case.0x460c66aa.424
push 9
pop eax
mov word [esi + 0xa], ax
mov eax, dword [esi + 0xc]
or dword [edi + 0x1d8], 0xffffffff
mov dword [edi + 0x1cc], eax
mov dword [edi + 0x1dc], 1
jmp case.0x460c66aa.426
mov eax, dword [esi + 4]
and eax, 0xffffffef
or eax, 0x20
mov dword [esi + 4], eax
push 0xa
pop ebx
cmp dword [edi + 0x1dc], edx
je 0x460c7694
test byte [edi + 0x190], 0x40
je 0x460c7694
lea esi, [edi + 0x1a4]
mov ecx, ebx
add edi, 0x34
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x18]
mov esi, dword [ebp - 0xc]
mov ecx, esi
mov eax, dword [edi + 0x1d8]
mov dword [esi + 0x14], eax
push dword [edi + 0x1cc]
call fcn.460c4f6b
mov eax, dword [edi + 0x1d0]
mov dword [edi + 0xa8], eax
mov eax, dword [edi + 0x1d4]
mov dword [edi + 0xac], eax
test byte [edi + 0x190], 0x40
mov dword [edi + 0x1dc], edx
jne 0x460c76aa
push 9
jmp 0x460c69a1
mov eax, dword [edi + 0x208]
test eax, eax
je 0x460c7789
cmp byte [eax + 1], 0x22
mov dword [ebp - 0x1c], edx
jne 0x460c7766
mov cl, byte [edi + 0x19f]
add eax, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], edx
call fcn.460e9076
test eax, eax
je 0x460c76e7
call fcn.460e9324
mov dword [ebp - 0xc], eax
jmp 0x460c76ea
mov dword [ebp - 0xc], edx
mov ecx, dword [edi + 0x210]
push 0x40
inc ecx
pop edx
call fcn.460e9c80
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x460c7c01
mov edx, dword [ebp - 0x18]
mov word [eax], 0x3c20
add eax, 2
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x10]
test ecx, ecx
jne 0x460c7721
cmp byte [edx], 0x5c
jne 0x460c7721
inc edx
jmp 0x460c7751
mov al, byte [edx]
mov byte [ebp - 1], al
cmp al, 0x22
mov eax, dword [ebp - 0x14]
je 0x460c7763
cmp dword [ebp - 0xc], 0
je 0x460c7751
test ecx, ecx
je 0x460c773d
and dword [ebp - 0x10], 0
jmp 0x460c7751
mov edx, dword [ebp - 0xc]
mov cl, byte [ebp - 1]
call fcn.460e9162
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x14]
mov cl, byte [edx]
mov byte [eax], cl
inc eax
inc edx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], edx
test cl, cl
jne 0x460c7712
jmp 0x460c7766
mov byte [eax], 0x3e
mov ecx, dword [edi + 0x208]
call fcn.460e9cb0
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x208], eax
mov eax, dword [edi + 0x210]
inc eax
xor edx, edx
mov dword [edi + 0x20c], eax
mov word [esi + 0xa], bx
mov dword [edi + 0x21c], edx
cmp dword [edi + 0x208], edx
je 0x460c77c3
mov ecx, 0x104
xor edx, edx
mov dword [edi + 0x218], ecx
call fcn.460e9c80
mov dword [edi + 0x214], eax
test eax, eax
je 0x460c7c01
mov byte [eax], 0
jmp case.0x460c66aa.426
mov ecx, dword [edi + 0x214]
mov dword [edi + 0x218], edx
call fcn.460e9cb0
and dword [edi + 0x214], 0
mov eax, 0xffbf
jmp 0x460c6b12
mov eax, dword [esi + 4]
test al, 0x30
jne case.0x460c66aa.424
or eax, 0x10
mov dword [esi + 4], eax
push 0xb
jmp 0x460c69a1
xor eax, eax
mov ecx, edi
mov word [edi + 0x252], ax
call fcn.460c515a
movzx eax, word [edi + 0x190]
test eax, 0x200
je case.0x460c66aa.426
mov esi, dword [edi + 0x9c]
and eax, 0xfdff
mov word [edi + 0x190], ax
xor eax, eax
mov ecx, edi
mov word [esi + 0xa], ax
call fcn.460c650d
xor eax, eax
inc eax
mov word [esi + 0x10], ax
jmp case.0x460c66aa.426
xor eax, eax
mov ecx, edi
mov word [edi + 0x252], ax
call fcn.460c54ae
jmp 0x460c7d43
mov eax, 0x1aa
cmp word [edi + 0x66], ax
je case.0x460c66aa.424
jmp case.0x460c66aa.426
test byte [edi + 0x190], 0x40
jne case.0x460c66aa.426
test byte [esi + 4], 0x10
jne case.0x460c66aa.426
cmp word [esi + 0xa], 0x13
je case.0x460c66aa.426
or dword [edi + 0xac], 0x40000
mov ecx, edi
and dword [edi + 0x34], 0xfffbffff
push esi
mov word [ebp - 8], bx
call fcn.460c64eb
xor ecx, ecx
inc ecx
test eax, eax
je 0x460c7902
cmp byte [eax + 2], 2
jne 0x460c7902
movzx eax, bx
mov edx, 0xff
sub eax, 0xf000
cmp eax, edx
ja 0x460c78d8
lea eax, [ebx + 0x1000]
jmp 0x460c78fe
cmp bx, dx
jbe 0x460c7902
xor eax, eax
push eax
push eax
push eax
push eax
push ecx
lea eax, [ebp - 1]
push eax
push ecx
lea eax, [ebp - 8]
mov ecx, 0x4e4
push eax
call fcn.460e971b
movzx eax, byte [ebp - 1]
xor ecx, ecx
inc ecx
mov word [ebp - 8], ax
mov ax, word [esi + 0x10]
push ecx
mov word [edi + 0x252], ax
lea eax, [ebp - 8]
push ecx
push eax
mov ecx, edi
call fcn.460c60eb
jmp case.0x460c66aa.426
cmp ebx, 2
ja case.0x460c66aa.426
mov word [esi + 0x10], bx
jmp case.0x460c66aa.426
movsx eax, word [esi + 0xa]
push 0xa
pop ebx
cmp eax, ebx
jg 0x460c7a39
je 0x460c7a11
sub eax, 1
je 0x460c79c6
sub eax, 1
je 0x460c798a
sub eax, 3
je 0x460c7969
sub eax, 1
jne 0x460c7a8e
mov eax, dword [edi + 0x220]
add eax, 0x38
jmp 0x460c7972
mov eax, dword [edi + 0x220]
add eax, 0x34
push dword [edi + 0x68]
mov ecx, edi
push eax
call fcn.460c8f14
test eax, eax
jne 0x460c7bf6
jmp case.0x460c66aa.426
test byte [esi + 4], 4
jne case.0x460c66aa.426
push esi
mov ecx, edi
call fcn.460c64eb
mov edx, eax
test edx, edx
je case.0x460c66aa.426
movzx eax, word [edi + 0x64]
xor ecx, ecx
push esi
mov esi, 0x101
cmp ax, si
sete cl
push ecx
push edx
mov ecx, edi
call fcn.460c590e
jmp case.0x460c66aa.426
push edx
push 1
lea ecx, [edi + 0x10]
call fcn.46086f15
mov edx, eax
test edx, edx
je 0x460c7bf6
test byte [edi + 0x190], 8
je 0x460c79fc
movzx ecx, byte [esi + 0x1a]
movzx eax, byte [esi + 0x19]
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x18]
shl ecx, 8
or ecx, eax
jmp 0x460c7a01
mov ecx, 0xff676983
xor eax, eax
mov dword [edx], ecx
mov word [esi + 0x19], ax
mov byte [esi + 0x18], al
jmp 0x460c6b0d
cmp dword [edi + 0x1a0], edx
jne case.0x460c66aa.426
lea ecx, [edi + 0x214]
cmp dword [ecx], edx
je 0x460c7a8e
lea eax, [edi + 0x21c]
push eax
lea eax, [edi + 0x218]
jmp 0x460c7b2b
cmp eax, 0xb
je 0x460c7af1
cmp eax, 0xe
je 0x460c7ab1
jle 0x460c7a8e
cmp eax, 0x11
jle case.0x460c66aa.426
cmp eax, 0x13
jne 0x460c7a8e
mov esi, dword [edi + 0x68]
mov edx, 0x46084c0c
push 7
mov ecx, esi
call fcn.460c896e
test eax, eax
je case.0x460c66aa.426
movzx ecx, byte [esi + 8]
sub ecx, 0x30
cmp ecx, ebx
jae case.0x460c66aa.426
mov al, byte [edi + 0x82]
mov byte [ecx + edi + 0x78], al
jmp case.0x460c66aa.426
movzx esi, word [edi + 0x64]
xor eax, eax
mov ecx, 0x101
cmp si, cx
mov ecx, edi
push 0xffffffffffffffff
sete al
push eax
push dword [edi + 0x68]
call fcn.460c5cb2
jmp case.0x460c66aa.426
mov esi, dword [esi + 0x20]
test esi, esi
je case.0x460c66aa.426
cmp word [esi + 0xa], 2
jne case.0x460c66aa.426
or dword [esi + 4], 4
mov ecx, edi
push esi
call fcn.460c64eb
test eax, eax
je case.0x460c66aa.426
xor ecx, ecx
mov edx, 0x101
cmp word [edi + 0x64], dx
push esi
sete cl
push ecx
push eax
jmp 0x460c79ba
lea esi, [edi + 0x208]
cmp dword [esi], edx
je 0x460c7b3c
mov cl, byte [edi + 0x19f]
call fcn.460e9076
test eax, eax
jne 0x460c7b1c
mov cl, byte [edi + 0x38]
call fcn.460e9076
test eax, eax
je 0x460c7b1c
mov byte [edi + 0x19f], cl
lea eax, [edi + 0x210]
mov ecx, esi
push eax
lea eax, [edi + 0x20c]
mov edx, dword [edi + 0x68]
push eax
call fcn.460e334f
mov dword [edi + 0x20], eax
jmp case.0x460c66aa.426
mov ecx, edi
call fcn.460c89a6
mov al, byte [edi + 0x38]
mov byte [edi + 0x19f], al
jmp case.0x460c66aa.426
movzx eax, word [edi + 0x64]
xor ecx, ecx
mov ebx, 0x1bf
cmp ax, bx
mov eax, dword [esi + 4]
mov ebx, 0x100
sete cl
and eax, 0xfffffdff
shl ecx, 9
or ecx, eax
mov eax, ecx
shr eax, 1
not eax
xor eax, ecx
and eax, ebx
xor eax, ecx
push edx
mov dword [esi + 4], eax
mov ecx, dword [edi + 0x24]
push 1
call fcn.460a00c8
jmp case.0x460c66aa.426
or dword [esi + 4], 0x400
jmp case.0x460c66aa.426
mov byte [edi + 0x192], 1
jmp case.0x460c66aa.426
mov byte [edi + 0x192], 2
jmp case.0x460c66aa.426
or word [edi + 0x190], cx
movzx ecx, word [edi + 0x64]
xor eax, eax
mov edx, 0x1ca
cmp cx, dx
mov ecx, edi
sete al
lea eax, [eax*4 + 4]
mov word [esi + 0xa], ax
call fcn.460c8f98
push 0x40
pop edx
push 0x4c
pop ecx
call fcn.460e9c80
mov dword [edi + 0x220], eax
test eax, eax
jne 0x460c7c0d
mov ecx, dword [edi + 0x24]
mov ecx, dword [ecx + 0x4c]
call fcn.460872fa
mov dword [edi + 0x20], 9
jmp case.0x460c66aa.426
push 0x64
pop ecx
mov dword [eax + 0x1c], ecx
mov eax, dword [edi + 0x220]
mov dword [eax + 0x18], ecx
xor ecx, ecx
mov eax, dword [edi + 0x220]
inc ecx
mov word [eax + 4], cx
mov eax, dword [edi + 0x220]
mov word [eax + 6], cx
xor ecx, ecx
mov eax, dword [edi + 0x220]
mov dword [eax + 0x34], ecx
mov eax, dword [edi + 0x220]
mov dword [eax + 0x38], ecx
or ecx, 0xffffffff
mov eax, dword [edi + 0x220]
mov word [eax], cx
jmp case.0x460c66aa.426
movzx ecx, word [edi + 0x64]
add ecx, 0xfffffe24
jmp 0x460c7c4a
push 6
pop ecx
jmp 0x460c7c4a
mov eax, dword [edi + 0x220]
mov dword [eax + 0x10], ebx
jmp case.0x460c66aa.426
mov eax, dword [edi + 0x220]
mov dword [eax + 0x14], ebx
jmp case.0x460c66aa.426
mov eax, dword [edi + 0x220]
mov dword [eax + 0xc], 1
jmp case.0x460c66aa.426
mov eax, dword [edi + 0x220]
mov dword [eax + 0x18], ebx
jmp case.0x460c66aa.426
mov eax, dword [edi + 0x220]
mov dword [eax + 0x1c], ebx
jmp case.0x460c66aa.426
mov eax, dword [edi + 0x220]
mov ecx, dword [ebp - 8]
mov dword [eax + ecx*4 - 0x70c], ebx
jmp case.0x460c66aa.426
push 5
jmp 0x460c69a1
push 6
jmp 0x460c69a1
mov eax, dword [edi + 0x220]
cmp word [eax], 6
je 0x460c7ceb
test byte [edi + 0x190], 5
je case.0x460c66aa.424
xor eax, eax
jmp 0x460c69a2
push 7
pop eax
mov word [esi + 0xa], ax
test dword [edi + 0x30], 0x8000
jne 0x460c7d0b
call fcn.460e84cf
test eax, eax
jne case.0x460c66aa.424
mov eax, dword [edi + 0x220]
cmp word [eax], 6
jne case.0x460c66aa.426
push 0x13
pop ebx
mov ecx, edi
call fcn.460c481d
test eax, eax
jne case.0x460c66aa.426
movzx eax, word [esi + 0xa]
cmp ax, 2
je 0x460c7d3c
cmp ax, bx
jne 0x460c7d43
push 0x12
pop eax
mov word [esi + 0xa], ax
mov ecx, edi
call fcn.460c5266
jmp case.0x460c66aa.426
mov eax, dword [edi + 0x220]
movzx ecx, word [edi + 0x64]
add ecx, 0xfffffe2a
mov word [eax], cx
mov eax, dword [edi + 0x220]
mov word [eax + 2], bx
jmp case.0x460c66aa.426
mov eax, dword [edi + 0x220]
mov word [eax + 4], bx
jmp case.0x460c66aa.426
mov eax, dword [edi + 0x220]
mov word [eax + 6], bx
jmp case.0x460c66aa.426
mov eax, dword [edi + 0x220]
mov word [eax + 8], bx
jmp case.0x460c66aa.426
mov eax, dword [edi + 0x220]
mov word [eax + 0x20], bx
jmp case.0x460c66aa.426
mov eax, dword [edi + 0x220]
mov word [eax + 0x22], bx
jmp case.0x460c66aa.426
test ebx, ebx
js case.0x460c66aa.426
movzx eax, word [edi + 0x252]
test ax, ax
je 0x460c7de5
dec eax
mov ecx, edi
push ebx
mov word [edi + 0x252], ax
call fcn.460c8d70
jmp case.0x460c66aa.426
mov eax, dword [edi + 0x224]
mov dword [eax], 0x460c4e90
mov dword [edi + 0x84], ebx
movsx eax, word [esi + 0xa]
sub eax, 7
je 0x460c7e0f
sub eax, 1
jne 0x460c7e36
push ebx
mov ecx, edi
call fcn.460c95ae
jmp 0x460c7e36
mov ecx, edi
call fcn.460c904b
xor ecx, ecx
mov edx, 0xfffe
test eax, eax
mov ax, word [edi + 0x190]
sete cl
and ax, dx
or cx, ax
mov word [edi + 0x190], cx
mov eax, dword [edi + 0x224]
mov dword [eax], 0x460c4e30
jmp case.0x460c66aa.426
mov ecx, edi
call fcn.460c904b
xor ecx, ecx
mov edx, 0xfffe
test eax, eax
mov ax, word [edi + 0x190]
sete cl
and ax, dx
or cx, ax
mov word [edi + 0x190], cx
jmp 0x460c7e78
push edx
mov ecx, edi
call fcn.460c95ae
mov ecx, edi
call fcn.460c481d
test eax, eax
jne case.0x460c66aa.426
jmp 0x460c7d43
mov eax, dword [edi + 0x24]
test dword [eax + 0x5c], 0x2000000
je case.0x460c66aa.426
cmp dword [edi + 0x244], edx
jne 0x460c7ecf
push 0x40
pop edx
push 0x20
pop ecx
call fcn.460e9c80
mov dword [edi + 0x244], eax
test eax, eax
je 0x460c7c01
xor edx, edx
mov dword [edi + 0x248], 8
mov dword [edi + 0x24c], edx
mov ecx, dword [edi + 0x248]
lea eax, [ecx - 1]
mov dword [edi + 0x248], eax
test ecx, ecx
jg 0x460c7f29
mov eax, dword [edi + 0x24c]
lea ecx, [eax*4 + 0x20]
mov eax, dword [edi + 0x244]
test eax, eax
je 0x460c7f0a
push ecx
push eax
push edx
push dword [0x460ec70c]
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
jmp 0x460c7f11
xor edx, edx
call fcn.460e9c80
test eax, eax
je 0x460c7c01
mov dword [edi + 0x244], eax
mov dword [edi + 0x248], 7
mov eax, dword [edi + 0x28]
mov edx, dword [edi + 0x24c]
mov ecx, dword [edi + 0x244]
mov eax, dword [eax + 0x18]
mov dword [ecx + edx*4], eax
inc dword [edi + 0x24c]
jmp case.0x460c66aa.426
movzx ecx, word [edi + 0x64]
mov eax, dword [ebp - 8]
cmp word [esi + 0xa], 0xb
je case.0x460c66aa.426
add eax, 0xffffff00
cmp eax, 0xee
jbe case.0x460c66aa.426
cmp cx, 9
jne 0x460c7f73
test byte [esi + 4], 1
je 0x460c7f73
push 0x20
pop eax
mov word [edi + 0x64], ax
mov eax, dword [edi + 0x24]
test dword [eax + 0x60], 0x80000
je 0x460c7fb9
movzx ecx, word [edi + 0x64]
mov edx, 0x2018
mov eax, ecx
sub eax, edx
cmp eax, 5
ja 0x460c7fb9
cmp cx, dx
je 0x460c7fb2
lea eax, [edx + 1]
cmp cx, ax
je 0x460c7fb2
add eax, 3
cmp cx, ax
je 0x460c7fae
lea eax, [edx + 5]
cmp cx, ax
jne 0x460c7fb9
push 0x22
jmp 0x460c7fb4
push 0x27
pop eax
mov word [edi + 0x64], ax
movzx eax, word [edi + 0x64]
push eax
mov ecx, edi
call fcn.460c5b88
mov eax, dword [edi + 0x20]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret