Function at 0x103c65c0
Capabilities:
Encrypt data using chaskey
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3fc
mov eax, dword [0x11ad127c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x10462360]
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
push 0
mov dword [ebp - 0xc], eax
mov ax, word [0x10462364]
push 0
push edi
mov dword [ebp - 0x3fc], edi
mov word [ebp - 8], ax
call fcn.1043fff8
push edi
lea eax, [ebp - 0x3f4]
push 0x3e7
push eax
call fcn.1043d9cd
add esp, 0x18
test eax, eax
je 0x103c8290
nop dword [eax + eax]
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x3f4]
push eax
call fcn.10441558
mov edi, eax
add esp, 8
test edi, edi
je 0x103c826e
cmp byte [edi], 0x23
je 0x103c826e
lea eax, [ebp - 0xc]
push eax
push 0
call fcn.10441558
lea ecx, [ebp - 0x3f8]
push ecx
push 0x10462370
push eax
call fcn.1003a0d0
add esp, 0x14
cmp eax, 1
jne 0x103c66a7
mov ecx, edi
mov eax, 0x10463900
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c6692
test dl, dl
je 0x103c668e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c6692
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c6672
xor eax, eax
jmp 0x103c6697
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c66bf
cmp dword [ebp - 0x3f8], eax
jle 0x103c826e
pop edi
pop esi
mov eax, 8
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret 8
mov ecx, edi
mov eax, 0x104659c0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c66e6
test dl, dl
je 0x103c66e2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c66e6
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c66c6
xor eax, eax
jmp 0x103c66eb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c66ff
mov ax, word [ebp - 0x3f8]
mov word [esi + 0x44], ax
jmp 0x103c826e
mov ecx, edi
mov eax, 0x104659e0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c6726
test dl, dl
je 0x103c6722
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c6726
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c6706
xor eax, eax
jmp 0x103c672b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c673f
mov ax, word [ebp - 0x3f8]
mov word [esi + 0x46], ax
jmp 0x103c826e
mov ecx, edi
mov eax, 0x10465a00
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c6766
test dl, dl
je 0x103c6762
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c6766
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c6746
xor eax, eax
jmp 0x103c676b
sbb eax, eax
or eax, 1
mov ecx, dword [ebp - 0x3f8]
test eax, eax
jne 0x103c6779
mov word [esi + 0x48], cx
mov edx, edi
mov eax, 0x10465a30
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c67a0
test bl, bl
je 0x103c679c
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c67a0
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6780
xor eax, eax
jmp 0x103c67a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c67b2
mov word [esi + 0x4a], cx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465a60
nop dword [eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c67e0
test bl, bl
je 0x103c67dc
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c67e0
add eax, 2
add edx, 2
test bl, bl
jne 0x103c67c0
xor eax, eax
jmp 0x103c67e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c67f2
mov word [esi + 0x4c], cx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465a90
nop dword [eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6820
test bl, bl
je 0x103c681c
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6820
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6800
xor eax, eax
jmp 0x103c6825
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c6837
mov eax, dword [esi]
xor eax, ecx
and eax, 1
xor dword [esi], eax
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465ab0
nop
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6860
test bl, bl
je 0x103c685c
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6860
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6840
xor eax, eax
jmp 0x103c6865
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c6878
lea eax, [ecx + ecx]
xor eax, dword [esi]
and eax, 2
xor dword [esi], eax
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465ad0
nop
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c68a0
test bl, bl
je 0x103c689c
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c68a0
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6880
xor eax, eax
jmp 0x103c68a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c68bc
lea eax, [ecx*4]
xor eax, dword [esi]
and eax, 4
xor dword [esi], eax
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465af0
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c68e3
test bl, bl
je 0x103c68df
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c68e3
add eax, 2
add edx, 2
test bl, bl
jne 0x103c68c3
xor eax, eax
jmp 0x103c68e8
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c68ff
lea eax, [ecx*8]
xor eax, dword [esi]
and eax, 8
xor dword [esi], eax
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465b10
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6926
test bl, bl
je 0x103c6922
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6926
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6906
xor eax, eax
jmp 0x103c692b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c693e
shl ecx, 4
xor ecx, dword [esi]
and ecx, 0x10
xor dword [esi], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465b30
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6965
test bl, bl
je 0x103c6961
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6965
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6945
xor eax, eax
jmp 0x103c696a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c697d
shl ecx, 5
xor ecx, dword [esi]
and ecx, 0x20
xor dword [esi], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465b50
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c69a4
test bl, bl
je 0x103c69a0
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c69a4
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6984
xor eax, eax
jmp 0x103c69a9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c69bc
shl ecx, 6
xor ecx, dword [esi]
and ecx, 0x40
xor dword [esi], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465b70
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c69e3
test bl, bl
je 0x103c69df
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c69e3
add eax, 2
add edx, 2
test bl, bl
jne 0x103c69c3
xor eax, eax
jmp 0x103c69e8
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c69fe
shl ecx, 7
xor ecx, dword [esi]
and ecx, 0x80
xor dword [esi], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465b90
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6a25
test bl, bl
je 0x103c6a21
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6a25
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6a05
xor eax, eax
jmp 0x103c6a2a
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c6a40
shl ecx, 8
xor ecx, dword [esi]
and ecx, 0x100
xor dword [esi], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465bb0
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6a67
test bl, bl
je 0x103c6a63
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6a67
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6a47
xor eax, eax
jmp 0x103c6a6c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c6a82
shl ecx, 9
xor ecx, dword [esi]
and ecx, 0x200
xor dword [esi], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10463e50
nop dword [eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6ab0
test bl, bl
je 0x103c6aac
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6ab0
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6a90
xor eax, eax
jmp 0x103c6ab5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c6acb
shl ecx, 0xa
xor ecx, dword [esi]
and ecx, 0x400
xor dword [esi], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10463e70
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6af2
test bl, bl
je 0x103c6aee
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6af2
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6ad2
xor eax, eax
jmp 0x103c6af7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c6b0d
shl ecx, 0xb
xor ecx, dword [esi]
and ecx, 0x800
xor dword [esi], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10463e90
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6b34
test bl, bl
je 0x103c6b30
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6b34
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6b14
xor eax, eax
jmp 0x103c6b39
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c6b4f
shl ecx, 0xc
xor ecx, dword [esi]
and ecx, 0x1000
xor dword [esi], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10463eb0
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6b76
test bl, bl
je 0x103c6b72
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6b76
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6b56
xor eax, eax
jmp 0x103c6b7b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c6b91
shl ecx, 0xd
xor ecx, dword [esi]
and ecx, 0x2000
xor dword [esi], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465bd0
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6bb8
test bl, bl
je 0x103c6bb4
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6bb8
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6b98
xor eax, eax
jmp 0x103c6bbd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c6bd3
shl ecx, 0xe
xor ecx, dword [esi]
and ecx, 0x4000
xor dword [esi], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10463ed0
nop word [eax + eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6c00
test bl, bl
je 0x103c6bfc
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6c00
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6be0
xor eax, eax
jmp 0x103c6c05
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c6c1b
shl ecx, 0xf
xor ecx, dword [esi]
and ecx, 0x8000
xor dword [esi], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10463f10
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6c42
test bl, bl
je 0x103c6c3e
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6c42
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6c22
xor eax, eax
jmp 0x103c6c47
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c6c5d
shl ecx, 0x10
xor ecx, dword [esi]
and ecx, 0x10000
xor dword [esi], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10463ef0
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6c84
test bl, bl
je 0x103c6c80
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6c84
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6c64
xor eax, eax
jmp 0x103c6c89
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c6c9f
shl ecx, 0x11
xor ecx, dword [esi]
and ecx, 0x20000
xor dword [esi], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465bf0
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6cc6
test bl, bl
je 0x103c6cc2
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6cc6
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6ca6
xor eax, eax
jmp 0x103c6ccb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c6cd8
mov word [esi + 0x6a], cx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465c10
nop
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6d00
test bl, bl
je 0x103c6cfc
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6d00
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6ce0
xor eax, eax
jmp 0x103c6d05
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c6d12
mov word [esi + 0x6c], cx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465c30
nop dword [eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6d40
test bl, bl
je 0x103c6d3c
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6d40
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6d20
xor eax, eax
jmp 0x103c6d45
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c6d52
mov word [esi + 0x6e], cx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465c50
nop dword [eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6d80
test bl, bl
je 0x103c6d7c
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6d80
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6d60
xor eax, eax
jmp 0x103c6d85
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c6d92
mov word [esi + 0x70], cx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465c70
nop dword [eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6dc0
test bl, bl
je 0x103c6dbc
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6dc0
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6da0
xor eax, eax
jmp 0x103c6dc5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c6dd2
mov word [esi + 0x72], cx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465c90
nop dword [eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6e00
test bl, bl
je 0x103c6dfc
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6e00
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6de0
xor eax, eax
jmp 0x103c6e05
sbb eax, eax
or eax, 1
test eax, eax
je 0x103c826a
mov edx, edi
mov eax, 0x10465cb0
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6e34
test bl, bl
je 0x103c6e30
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6e34
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6e14
xor eax, eax
jmp 0x103c6e39
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c6e46
mov word [esi + 0x76], cx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465cd0
nop dword [eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6e70
test bl, bl
je 0x103c6e6c
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6e70
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6e50
xor eax, eax
jmp 0x103c6e75
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c6e82
mov word [esi + 0x78], cx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465ce0
nop dword [eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6eb0
test bl, bl
je 0x103c6eac
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6eb0
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6e90
xor eax, eax
jmp 0x103c6eb5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c6ec2
mov word [esi + 0x7a], cx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465cf0
nop dword [eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6ef0
test bl, bl
je 0x103c6eec
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6ef0
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6ed0
xor eax, eax
jmp 0x103c6ef5
sbb eax, eax
or eax, 1
test eax, eax
je 0x103c826a
mov edx, edi
mov eax, 0x10464020
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6f24
test bl, bl
je 0x103c6f20
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6f24
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6f04
xor eax, eax
jmp 0x103c6f29
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c6f36
mov word [esi + 0x4e], cx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10464090
nop dword [eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6f60
test bl, bl
je 0x103c6f5c
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6f60
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6f40
xor eax, eax
jmp 0x103c6f65
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c6f72
mov word [esi + 0x50], cx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10464160
nop dword [eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6fa0
test bl, bl
je 0x103c6f9c
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6fa0
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6f80
xor eax, eax
jmp 0x103c6fa5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c6fbb
shl ecx, 0x12
xor ecx, dword [esi]
and ecx, 0x40000
xor dword [esi], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10464120
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c6fe2
test bl, bl
je 0x103c6fde
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c6fe2
add eax, 2
add edx, 2
test bl, bl
jne 0x103c6fc2
xor eax, eax
jmp 0x103c6fe7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c6fff
shl ecx, 0x13
xor ecx, dword [esi + 8]
and ecx, 0x80000
xor dword [esi + 8], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465d00
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c7026
test bl, bl
je 0x103c7022
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c7026
add eax, 2
add edx, 2
test bl, bl
jne 0x103c7006
xor eax, eax
jmp 0x103c702b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c7041
shl ecx, 0x17
xor ecx, dword [esi]
and ecx, 0x3800000
xor dword [esi], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465d20
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c7068
test bl, bl
je 0x103c7064
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c7068
add eax, 2
add edx, 2
test bl, bl
jne 0x103c7048
xor eax, eax
jmp 0x103c706d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c7083
shl ecx, 0x1a
xor ecx, dword [esi]
and ecx, 0x1c000000
xor dword [esi], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465d40
nop word [eax + eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c70b0
test bl, bl
je 0x103c70ac
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c70b0
add eax, 2
add edx, 2
test bl, bl
jne 0x103c7090
xor eax, eax
jmp 0x103c70b5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c70cc
mov eax, dword [esi]
and eax, 0x1fffffff
shl ecx, 0x1d
or eax, ecx
mov dword [esi], eax
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465d60
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c70f3
test bl, bl
je 0x103c70ef
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c70f3
add eax, 2
add edx, 2
test bl, bl
jne 0x103c70d3
xor eax, eax
jmp 0x103c70f8
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c710c
mov eax, dword [esi + 4]
xor eax, ecx
and eax, 7
xor dword [esi + 4], eax
jmp 0x103c826e
mov edx, edi
mov eax, 0x104641e0
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c7133
test bl, bl
je 0x103c712f
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c7133
add eax, 2
add edx, 2
test bl, bl
jne 0x103c7113
xor eax, eax
jmp 0x103c7138
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c7145
mov word [esi + 0x52], cx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465d80
nop dword [eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c7170
test bl, bl
je 0x103c716c
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c7170
add eax, 2
add edx, 2
test bl, bl
jne 0x103c7150
xor eax, eax
jmp 0x103c7175
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c7182
mov word [esi + 0x5c], cx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465d90
nop dword [eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c71b0
test bl, bl
je 0x103c71ac
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c71b0
add eax, 2
add edx, 2
test bl, bl
jne 0x103c7190
xor eax, eax
jmp 0x103c71b5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c71c2
mov word [esi + 0x5e], cx
jmp 0x103c826e
mov edx, edi
mov eax, 0x104641d0
nop dword [eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c71f0
test bl, bl
je 0x103c71ec
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c71f0
add eax, 2
add edx, 2
test bl, bl
jne 0x103c71d0
xor eax, eax
jmp 0x103c71f5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c7202
mov word [esi + 0x54], cx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465da0
nop dword [eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c7230
test bl, bl
je 0x103c722c
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c7230
add eax, 2
add edx, 2
test bl, bl
jne 0x103c7210
xor eax, eax
jmp 0x103c7235
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c7242
mov word [esi + 0x60], cx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465db0
nop dword [eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c7270
test bl, bl
je 0x103c726c
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c7270
add eax, 2
add edx, 2
test bl, bl
jne 0x103c7250
xor eax, eax
jmp 0x103c7275
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c7282
mov word [esi + 0x62], cx
jmp 0x103c826e
mov edx, edi
mov eax, 0x104641c0
nop dword [eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c72b0
test bl, bl
je 0x103c72ac
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c72b0
add eax, 2
add edx, 2
test bl, bl
jne 0x103c7290
xor eax, eax
jmp 0x103c72b5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c72c2
mov word [esi + 0x56], cx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465dc0
nop dword [eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c72f0
test bl, bl
je 0x103c72ec
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c72f0
add eax, 2
add edx, 2
test bl, bl
jne 0x103c72d0
xor eax, eax
jmp 0x103c72f5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c7302
mov word [esi + 0x64], cx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465dd0
nop dword [eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c7330
test bl, bl
je 0x103c732c
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c7330
add eax, 2
add edx, 2
test bl, bl
jne 0x103c7310
xor eax, eax
jmp 0x103c7335
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c7342
mov word [esi + 0x66], cx
jmp 0x103c826e
mov edx, edi
mov eax, 0x104641b0
nop dword [eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c7370
test bl, bl
je 0x103c736c
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c7370
add eax, 2
add edx, 2
test bl, bl
jne 0x103c7350
xor eax, eax
jmp 0x103c7375
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c7382
mov word [esi + 0x58], cx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465de0
nop dword [eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c73b0
test bl, bl
je 0x103c73ac
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c73b0
add eax, 2
add edx, 2
test bl, bl
jne 0x103c7390
xor eax, eax
jmp 0x103c73b5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c73c2
mov word [esi + 0x5a], cx
jmp 0x103c826e
mov edx, edi
mov eax, 0x104641f0
nop dword [eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c73f0
test bl, bl
je 0x103c73ec
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c73f0
add eax, 2
add edx, 2
test bl, bl
jne 0x103c73d0
xor eax, eax
jmp 0x103c73f5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c740d
shl ecx, 0xc
xor ecx, dword [esi + 8]
and ecx, 0x7f000
xor dword [esi + 8], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465df0
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c7434
test bl, bl
je 0x103c7430
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c7434
add eax, 2
add edx, 2
test bl, bl
jne 0x103c7414
xor eax, eax
jmp 0x103c7439
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c744f
shl ecx, 0x13
xor ecx, dword [esi]
and ecx, 0x80000
xor dword [esi], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465e10
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c7476
test bl, bl
je 0x103c7472
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c7476
add eax, 2
add edx, 2
test bl, bl
jne 0x103c7456
xor eax, eax
jmp 0x103c747b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c7491
shl ecx, 0x14
xor ecx, dword [esi]
and ecx, 0x100000
xor dword [esi], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465e30
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c74b8
test bl, bl
je 0x103c74b4
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c74b8
add eax, 2
add edx, 2
test bl, bl
jne 0x103c7498
xor eax, eax
jmp 0x103c74bd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c74d3
shl ecx, 0x15
xor ecx, dword [esi]
and ecx, 0x200000
xor dword [esi], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465e50
nop word [eax + eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c7500
test bl, bl
je 0x103c74fc
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c7500
add eax, 2
add edx, 2
test bl, bl
jne 0x103c74e0
xor eax, eax
jmp 0x103c7505
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c751b
shl ecx, 0x16
xor ecx, dword [esi]
and ecx, 0x400000
xor dword [esi], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465e70
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c7542
test bl, bl
je 0x103c753e
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c7542
add eax, 2
add edx, 2
test bl, bl
jne 0x103c7522
xor eax, eax
jmp 0x103c7547
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c7560
lea eax, [ecx*8]
xor eax, dword [esi + 4]
and eax, 0x38
xor dword [esi + 4], eax
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465e90
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c7587
test bl, bl
je 0x103c7583
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c7587
add eax, 2
add edx, 2
test bl, bl
jne 0x103c7567
xor eax, eax
jmp 0x103c758c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c75a4
shl ecx, 6
xor ecx, dword [esi + 4]
and ecx, 0x1c0
xor dword [esi + 4], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465eb0
nop dword [eax + eax]
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c75d0
test bl, bl
je 0x103c75cc
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c75d0
add eax, 2
add edx, 2
test bl, bl
jne 0x103c75b0
xor eax, eax
jmp 0x103c75d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c75ed
shl ecx, 9
xor ecx, dword [esi + 4]
and ecx, 0xe00
xor dword [esi + 4], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465ed0
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c7614
test bl, bl
je 0x103c7610
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x103c7614
xor eax, eax
jmp 0x103c7619
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c7631
shl ecx, 0xc
xor ecx, dword [esi + 4]
and ecx, 0x7000
xor dword [esi + 4], ecx
jmp 0x103c826e
mov edx, edi
mov eax, 0x10465ef0
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x103c7658
mov word [esi + 0x74], cx
push dword [ebp - 0x3fc]
lea eax, [ebp - 0x3f4]
push 0x3e7
push eax
call fcn.1043d9cd
add esp, 0xc
test eax, eax
jne 0x103c6620
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1045066c
mov esp, ebp
pop ebp
ret 8