Function at 0x103c82b0
Capabilities:
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 0x103cad03
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 0x103cace1
cmp byte [edi], 0x23
je 0x103cace1
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 0x103c8397
mov ecx, edi
mov eax, 0x10464210
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8382
test dl, dl
je 0x103c837e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8382
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8362
xor eax, eax
jmp 0x103c8387
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c83af
cmp dword [ebp - 0x3f8], eax
jle 0x103cace1
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, 0x10464220
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c83d6
test dl, dl
je 0x103c83d2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c83d6
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c83b6
xor eax, eax
jmp 0x103c83db
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c83f8
mov ecx, dword [ebp - 0x3f8]
cmp ecx, 1
ja 0x103c8397
mov eax, dword [esi]
xor eax, ecx
and eax, 1
xor dword [esi], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464240
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8420
test dl, dl
je 0x103c841c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8420
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8400
xor eax, eax
jmp 0x103c8425
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8446
mov eax, dword [ebp - 0x3f8]
cmp eax, 1
ja 0x103c8397
add eax, eax
xor eax, dword [esi]
and eax, 2
xor dword [esi], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464250
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8470
test dl, dl
je 0x103c846c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8470
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8450
xor eax, eax
jmp 0x103c8475
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8497
mov eax, dword [ebp - 0x3f8]
cmp eax, 1
ja 0x103c8397
shl eax, 2
xor eax, dword [esi]
and eax, 4
xor dword [esi], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464260
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c84c0
test dl, dl
je 0x103c84bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c84c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c84a0
xor eax, eax
jmp 0x103c84c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c84e0
mov eax, dword [ebp - 0x3f8]
shl eax, 3
xor eax, dword [esi]
and eax, 0x3ff8
xor dword [esi], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464270
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8507
test dl, dl
je 0x103c8503
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8507
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c84e7
xor eax, eax
jmp 0x103c850c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8530
mov eax, dword [ebp - 0x3f8]
cmp eax, 1
ja 0x103c8397
shl eax, 0xe
xor eax, dword [esi]
and eax, 0x4000
xor dword [esi], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464290
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8557
test dl, dl
je 0x103c8553
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8557
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8537
xor eax, eax
jmp 0x103c855c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8577
mov eax, dword [ebp - 0x3f8]
shl eax, 6
xor eax, dword [esi + 0xc]
and eax, 0x40
xor dword [esi + 0xc], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x104642b0
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c85a0
test dl, dl
je 0x103c859c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c85a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8580
xor eax, eax
jmp 0x103c85a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c85c2
mov eax, dword [ebp - 0x3f8]
shl eax, 7
xor eax, dword [esi + 0xc]
and eax, 0x80
xor dword [esi + 0xc], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x104642d0
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c85f0
test dl, dl
je 0x103c85ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c85f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c85d0
xor eax, eax
jmp 0x103c85f5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8612
mov eax, dword [ebp - 0x3f8]
shl eax, 8
xor eax, dword [esi + 0xc]
and eax, 0x100
xor dword [esi + 0xc], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x104642f0
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8640
test dl, dl
je 0x103c863c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8640
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8620
xor eax, eax
jmp 0x103c8645
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8662
mov eax, dword [ebp - 0x3f8]
shl eax, 9
xor eax, dword [esi + 0xc]
and eax, 0x200
xor dword [esi + 0xc], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464310
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8690
test dl, dl
je 0x103c868c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8690
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8670
xor eax, eax
jmp 0x103c8695
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c86b2
mov eax, dword [ebp - 0x3f8]
shl eax, 0x10
xor eax, dword [esi + 0xc]
and eax, 0x10000
xor dword [esi + 0xc], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464330
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c86e0
test dl, dl
je 0x103c86dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c86e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c86c0
xor eax, eax
jmp 0x103c86e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8702
mov eax, dword [ebp - 0x3f8]
shl eax, 0x11
xor eax, dword [esi + 0xc]
and eax, 0x20000
xor dword [esi + 0xc], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464350
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8730
test dl, dl
je 0x103c872c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8730
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8710
xor eax, eax
jmp 0x103c8735
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8752
mov eax, dword [ebp - 0x3f8]
shl eax, 0x12
xor eax, dword [esi + 0xc]
and eax, 0x40000
xor dword [esi + 0xc], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464370
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8780
test dl, dl
je 0x103c877c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8780
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8760
xor eax, eax
jmp 0x103c8785
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c87a2
mov eax, dword [ebp - 0x3f8]
shl eax, 0x13
xor eax, dword [esi + 0xc]
and eax, 0x80000
xor dword [esi + 0xc], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464390
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c87d0
test dl, dl
je 0x103c87cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c87d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c87b0
xor eax, eax
jmp 0x103c87d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c87f2
mov eax, dword [ebp - 0x3f8]
shl eax, 0x1a
xor eax, dword [esi + 0xc]
and eax, 0x4000000
xor dword [esi + 0xc], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x104643b0
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8820
test dl, dl
je 0x103c881c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8820
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8800
xor eax, eax
jmp 0x103c8825
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8842
mov eax, dword [ebp - 0x3f8]
shl eax, 0x1b
xor eax, dword [esi + 0xc]
and eax, 0x8000000
xor dword [esi + 0xc], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x104643d0
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8870
test dl, dl
je 0x103c886c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8870
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8850
xor eax, eax
jmp 0x103c8875
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8892
mov eax, dword [ebp - 0x3f8]
shl eax, 0x1c
xor eax, dword [esi + 0xc]
and eax, 0x10000000
xor dword [esi + 0xc], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x104643f0
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c88c0
test dl, dl
je 0x103c88bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c88c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c88a0
xor eax, eax
jmp 0x103c88c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c88e2
mov eax, dword [ebp - 0x3f8]
shl eax, 0x1d
xor eax, dword [esi + 0xc]
and eax, 0x20000000
xor dword [esi + 0xc], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464410
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8910
test dl, dl
je 0x103c890c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8910
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c88f0
xor eax, eax
jmp 0x103c8915
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8932
mov eax, dword [ebp - 0x3f8]
shl eax, 0x12
xor eax, dword [esi + 0x14]
and eax, 0x40000
xor dword [esi + 0x14], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464430
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8960
test dl, dl
je 0x103c895c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8960
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8940
xor eax, eax
jmp 0x103c8965
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8982
mov eax, dword [ebp - 0x3f8]
shl eax, 0x13
xor eax, dword [esi + 0x14]
and eax, 0x80000
xor dword [esi + 0x14], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464450
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c89b0
test dl, dl
je 0x103c89ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c89b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8990
xor eax, eax
jmp 0x103c89b5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c89d2
mov eax, dword [ebp - 0x3f8]
shl eax, 0x14
xor eax, dword [esi + 0x14]
and eax, 0x100000
xor dword [esi + 0x14], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464470
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8a00
test dl, dl
je 0x103c89fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8a00
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c89e0
xor eax, eax
jmp 0x103c8a05
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8a22
mov eax, dword [ebp - 0x3f8]
shl eax, 0x15
xor eax, dword [esi + 0x14]
and eax, 0x200000
xor dword [esi + 0x14], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464490
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8a50
test dl, dl
je 0x103c8a4c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8a50
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8a30
xor eax, eax
jmp 0x103c8a55
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8a72
mov eax, dword [ebp - 0x3f8]
shl eax, 0x1c
xor eax, dword [esi + 0x14]
and eax, 0x10000000
xor dword [esi + 0x14], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x104644b0
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8aa0
test dl, dl
je 0x103c8a9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8aa0
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8a80
xor eax, eax
jmp 0x103c8aa5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8ac2
mov eax, dword [ebp - 0x3f8]
shl eax, 0x1d
xor eax, dword [esi + 0x14]
and eax, 0x20000000
xor dword [esi + 0x14], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x104644d0
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8af0
test dl, dl
je 0x103c8aec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8af0
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8ad0
xor eax, eax
jmp 0x103c8af5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8b12
mov eax, dword [ebp - 0x3f8]
shl eax, 0x1e
xor eax, dword [esi + 0x14]
and eax, 0x40000000
xor dword [esi + 0x14], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x104644f0
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8b40
test dl, dl
je 0x103c8b3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8b40
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8b20
xor eax, eax
jmp 0x103c8b45
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8b65
mov ecx, dword [esi + 0x14]
mov eax, dword [ebp - 0x3f8]
and ecx, 0x7fffffff
shl eax, 0x1f
or ecx, eax
mov dword [esi + 0x14], ecx
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464510
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8b90
test dl, dl
je 0x103c8b8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8b90
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8b70
xor eax, eax
jmp 0x103c8b95
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8bb8
mov ecx, dword [ebp - 0x3f8]
cmp ecx, 7
ja 0x103c8397
mov eax, dword [esi + 0xc]
xor eax, ecx
and eax, 7
xor dword [esi + 0xc], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464530
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8be0
test dl, dl
je 0x103c8bdc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8be0
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8bc0
xor eax, eax
jmp 0x103c8be5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8c09
mov eax, dword [ebp - 0x3f8]
cmp eax, 7
ja 0x103c8397
shl eax, 3
xor eax, dword [esi + 0xc]
and eax, 0x38
xor dword [esi + 0xc], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464550
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8c30
test dl, dl
je 0x103c8c2c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8c30
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8c10
xor eax, eax
jmp 0x103c8c35
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8c5b
mov eax, dword [ebp - 0x3f8]
cmp eax, 7
ja 0x103c8397
shl eax, 0xa
xor eax, dword [esi + 0xc]
and eax, 0x1c00
xor dword [esi + 0xc], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464570
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8c82
test dl, dl
je 0x103c8c7e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8c82
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8c62
xor eax, eax
jmp 0x103c8c87
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8cad
mov eax, dword [ebp - 0x3f8]
cmp eax, 7
ja 0x103c8397
shl eax, 0xd
xor eax, dword [esi + 0xc]
and eax, 0xe000
xor dword [esi + 0xc], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464590
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8cd4
test dl, dl
je 0x103c8cd0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8cd4
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8cb4
xor eax, eax
jmp 0x103c8cd9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8cff
mov eax, dword [ebp - 0x3f8]
cmp eax, 7
ja 0x103c8397
shl eax, 0x14
xor eax, dword [esi + 0xc]
and eax, 0x700000
xor dword [esi + 0xc], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x104645b0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8d26
test dl, dl
je 0x103c8d22
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8d26
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8d06
xor eax, eax
jmp 0x103c8d2b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8d51
mov eax, dword [ebp - 0x3f8]
cmp eax, 7
ja 0x103c8397
shl eax, 0x17
xor eax, dword [esi + 0xc]
and eax, 0x3800000
xor dword [esi + 0xc], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x104645d0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8d78
test dl, dl
je 0x103c8d74
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8d78
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8d58
xor eax, eax
jmp 0x103c8d7d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8d95
mov eax, dword [esi + 0x10]
xor eax, dword [ebp - 0x3f8]
and eax, 7
xor dword [esi + 0x10], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464600
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8dc0
test dl, dl
je 0x103c8dbc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8dc0
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8da0
xor eax, eax
jmp 0x103c8dc5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8de0
mov eax, dword [ebp - 0x3f8]
shl eax, 3
xor eax, dword [esi + 0x10]
and eax, 0x38
xor dword [esi + 0x10], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464630
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8e07
test dl, dl
je 0x103c8e03
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8e07
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8de7
xor eax, eax
jmp 0x103c8e0c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8e29
mov eax, dword [ebp - 0x3f8]
shl eax, 6
xor eax, dword [esi + 0x10]
and eax, 0x1c0
xor dword [esi + 0x10], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464660
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8e50
test dl, dl
je 0x103c8e4c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8e50
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8e30
xor eax, eax
jmp 0x103c8e55
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8e72
mov eax, dword [ebp - 0x3f8]
shl eax, 9
xor eax, dword [esi + 0x10]
and eax, 0xe00
xor dword [esi + 0x10], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464690
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8ea0
test dl, dl
je 0x103c8e9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8ea0
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8e80
xor eax, eax
jmp 0x103c8ea5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8ec2
mov eax, dword [ebp - 0x3f8]
shl eax, 0xc
xor eax, dword [esi + 0x10]
and eax, 0x7000
xor dword [esi + 0x10], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x104646c0
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8ef0
test dl, dl
je 0x103c8eec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8ef0
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8ed0
xor eax, eax
jmp 0x103c8ef5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8f12
mov eax, dword [ebp - 0x3f8]
shl eax, 0xf
xor eax, dword [esi + 0x10]
and eax, 0x38000
xor dword [esi + 0x10], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x104646f0
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8f40
test dl, dl
je 0x103c8f3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8f40
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8f20
xor eax, eax
jmp 0x103c8f45
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8f62
mov eax, dword [ebp - 0x3f8]
shl eax, 0x12
xor eax, dword [esi + 0x10]
and eax, 0x1c0000
xor dword [esi + 0x10], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464720
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8f90
test dl, dl
je 0x103c8f8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8f90
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8f70
xor eax, eax
jmp 0x103c8f95
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c8fb2
mov eax, dword [ebp - 0x3f8]
shl eax, 0x15
xor eax, dword [esi + 0x10]
and eax, 0xe00000
xor dword [esi + 0x10], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464750
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c8fe0
test dl, dl
je 0x103c8fdc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c8fe0
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c8fc0
xor eax, eax
jmp 0x103c8fe5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c9002
mov eax, dword [ebp - 0x3f8]
shl eax, 0x18
xor eax, dword [esi + 0x10]
and eax, 0x7000000
xor dword [esi + 0x10], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464780
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c9030
test dl, dl
je 0x103c902c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c9030
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c9010
xor eax, eax
jmp 0x103c9035
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c9052
mov eax, dword [ebp - 0x3f8]
shl eax, 0x1b
xor eax, dword [esi + 0x10]
and eax, 0x38000000
xor dword [esi + 0x10], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x104647b0
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c9080
test dl, dl
je 0x103c907c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c9080
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c9060
xor eax, eax
jmp 0x103c9085
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c909d
mov eax, dword [esi + 0x14]
xor eax, dword [ebp - 0x3f8]
and eax, 7
xor dword [esi + 0x14], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x104647e0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c90c4
test dl, dl
je 0x103c90c0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c90c4
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c90a4
xor eax, eax
jmp 0x103c90c9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c90e4
mov eax, dword [ebp - 0x3f8]
shl eax, 3
xor eax, dword [esi + 0x14]
and eax, 0x38
xor dword [esi + 0x14], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464810
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c9110
test dl, dl
je 0x103c910c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c9110
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c90f0
xor eax, eax
jmp 0x103c9115
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c9132
mov eax, dword [ebp - 0x3f8]
shl eax, 6
xor eax, dword [esi + 0x14]
and eax, 0x1c0
xor dword [esi + 0x14], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464840
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c9160
test dl, dl
je 0x103c915c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c9160
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c9140
xor eax, eax
jmp 0x103c9165
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c9182
mov eax, dword [ebp - 0x3f8]
shl eax, 9
xor eax, dword [esi + 0x14]
and eax, 0xe00
xor dword [esi + 0x14], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464870
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c91b0
test dl, dl
je 0x103c91ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c91b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c9190
xor eax, eax
jmp 0x103c91b5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c91d2
mov eax, dword [ebp - 0x3f8]
shl eax, 0xc
xor eax, dword [esi + 0x14]
and eax, 0x7000
xor dword [esi + 0x14], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x104648a0
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c9200
test dl, dl
je 0x103c91fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c9200
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c91e0
xor eax, eax
jmp 0x103c9205
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c9222
mov eax, dword [ebp - 0x3f8]
shl eax, 0xf
xor eax, dword [esi + 0x14]
and eax, 0x38000
xor dword [esi + 0x14], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x104648d0
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c9250
test dl, dl
je 0x103c924c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c9250
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c9230
xor eax, eax
jmp 0x103c9255
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c927b
mov eax, dword [ebp - 0x3f8]
cmp eax, 7
ja 0x103c8397
shl eax, 0x16
xor eax, dword [esi + 0x14]
and eax, 0x1c00000
xor dword [esi + 0x14], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x104648f0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c92a2
test dl, dl
je 0x103c929e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c92a2
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c9282
xor eax, eax
jmp 0x103c92a7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c92cd
mov eax, dword [ebp - 0x3f8]
cmp eax, 7
ja 0x103c8397
shl eax, 0x19
xor eax, dword [esi + 0x14]
and eax, 0xe000000
xor dword [esi + 0x14], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x104665a0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c92f4
test dl, dl
je 0x103c92f0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c92f4
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c92d4
xor eax, eax
jmp 0x103c92f9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c9311
mov eax, dword [esi + 0x18]
xor eax, dword [ebp - 0x3f8]
and eax, 7
xor dword [esi + 0x18], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x104665c0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c9338
test dl, dl
je 0x103c9334
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c9338
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c9318
xor eax, eax
jmp 0x103c933d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c9358
mov eax, dword [ebp - 0x3f8]
shl eax, 3
xor eax, dword [esi + 0x18]
and eax, 0x38
xor dword [esi + 0x18], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x104665e0
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c9380
test dl, dl
je 0x103c937c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c9380
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c9360
xor eax, eax
jmp 0x103c9385
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c93a2
mov eax, dword [ebp - 0x3f8]
shl eax, 6
xor eax, dword [esi + 0x18]
and eax, 0x1c0
xor dword [esi + 0x18], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10466600
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c93d0
test dl, dl
je 0x103c93cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c93d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c93b0
xor eax, eax
jmp 0x103c93d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c93f2
mov eax, dword [ebp - 0x3f8]
shl eax, 9
xor eax, dword [esi + 0x18]
and eax, 0xe00
xor dword [esi + 0x18], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10466620
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c9420
test dl, dl
je 0x103c941c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c9420
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c9400
xor eax, eax
jmp 0x103c9425
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c9442
mov eax, dword [ebp - 0x3f8]
shl eax, 0xc
xor eax, dword [esi + 0x18]
and eax, 0x7000
xor dword [esi + 0x18], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10466640
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c9470
test dl, dl
je 0x103c946c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c9470
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c9450
xor eax, eax
jmp 0x103c9475
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c9492
mov eax, dword [ebp - 0x3f8]
shl eax, 0xf
xor eax, dword [esi + 0x18]
and eax, 0x38000
xor dword [esi + 0x18], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10466660
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c94c0
test dl, dl
je 0x103c94bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c94c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c94a0
xor eax, eax
jmp 0x103c94c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c94e2
mov eax, dword [ebp - 0x3f8]
shl eax, 0x12
xor eax, dword [esi + 0x18]
and eax, 0x1c0000
xor dword [esi + 0x18], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464910
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c9510
test dl, dl
je 0x103c950c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c9510
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c94f0
xor eax, eax
jmp 0x103c9515
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c952d
mov eax, dword [esi + 0x1c]
xor eax, dword [ebp - 0x3f8]
and eax, 3
xor dword [esi + 0x1c], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464930
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c9554
test dl, dl
je 0x103c9550
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c9554
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c9534
xor eax, eax
jmp 0x103c9559
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c9576
mov eax, dword [ebp - 0x3f8]
shl eax, 2
xor eax, dword [esi + 0x1c]
and eax, 0x3ffc
xor dword [esi + 0x1c], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464940
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c95a0
test dl, dl
je 0x103c959c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c95a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c9580
xor eax, eax
jmp 0x103c95a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c95c2
mov eax, dword [ebp - 0x3f8]
shl eax, 0x10
xor eax, dword [esi + 0x1c]
and eax, 0x30000
xor dword [esi + 0x1c], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464960
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c95f0
test dl, dl
je 0x103c95ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c95f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x103c95d0
xor eax, eax
jmp 0x103c95f5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c9612
mov eax, dword [ebp - 0x3f8]
shl eax, 0x12
xor eax, dword [esi + 0x1c]
and eax, 0xffc0000
xor dword [esi + 0x1c], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464970
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c9643
test dl, dl
je 0x103c963c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x103c9643
xor eax, eax
jmp 0x103c9648
sbb eax, eax
or eax, 1
test eax, eax
jne 0x103c9660
mov eax, dword [esi + 0x20]
xor eax, dword [ebp - 0x3f8]
and eax, 3
xor dword [esi + 0x20], eax
jmp 0x103cace1
mov ecx, edi
mov eax, 0x10464990
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x103c968a
push dword [ebp - 0x3fc]
lea eax, [ebp - 0x3f4]
push 0x3e7
push eax
call fcn.1043d9cd
add esp, 0xc
test eax, eax
jne 0x103c8310
mov ecx, dword [esi + 4]
test cl, 1
jne 0x103cad45
mov eax, dword [esi + 8]
or ecx, 1
and ecx, 0xffffe009
and eax, 0xffffcffc
or ecx, 0x6008
or eax, 0xffc
and ecx, 0xf804ffff
and eax, 0xf7fcffff
or ecx, 0x8040000
or eax, 0x7fc0000
mov dword [esi + 8], eax
jmp 0x103caddd
mov eax, ecx
and eax, 0xfffffff8
shl eax, 0x11
cmp eax, 0xc0100000
jge 0x103cad64
and ecx, 0xffffe00f
or ecx, 0x6008
mov edx, dword [esi + 8]
mov eax, edx
and eax, 0xfffffffc
shl eax, 0x12
cmp eax, 0x3ff00000
jle 0x103cad86
and edx, 0xffffcfff
or edx, 0xffc
mov eax, ecx
and eax, 0xfffc0000
shl eax, 4
cmp eax, 0x80400000
jge 0x103cada7
and ecx, 0xf807ffff
or ecx, 0x8040000
mov eax, edx
and eax, 0xfffc0000
shl eax, 4
cmp eax, 0x7fc00000
jle 0x103cadc8
and edx, 0xf7ffffff
or edx, 0x7fc0000
and ecx, 0xfffffff9
and edx, 0xfffffffc
and ecx, 0xfffcffff
and edx, 0xfffcffff
mov dword [esi + 8], edx
mov dword [esi + 4], ecx
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1045066c
mov esp, ebp
pop ebp
ret 8