Function at 0x1003b8d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x100
mov eax, dword [0x101d2014]
xor eax, ebp
test edx, edx
mov dword [esp + 0xf8], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 8], edx
je 0x1003c12c
mov eax, dword [edx]
mov dword [esp + 0x38], 0x10043b60
cmp word [eax + 8], 0xd
ja 0x1003ccfe
mov esi, dword [eax + 0x10]
mov ecx, dword [edx + 4]
mov bl, byte [esi]
movzx ecx, word [ecx + 8]
test bl, bl
jne 0x1003cd07
mov bl, 1
mov bh, 0xff
mov byte [edx + 0xc], bh
mov byte [edx + 0xd], bl
mov ebx, dword [esp + 0x2c]
mov esi, 0x10043b80
test cl, 4
je 0x1003c222
mov dword [esp + 0x38], esi
mov byte [edx + 0xb], 0
mov ecx, ebx
call fcn.100428e0
test eax, eax
jne 0x1003c562
xor ecx, ecx
lea eax, [ebx + 0x74]
inc ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 8]
sub ecx, dword [ebp + 0x10]
add eax, 0xb
mov dword [esp + 0x3c], eax
mov dword [esp + 0x78], ecx
mov edx, dword [ebx + 0x74]
movzx esi, word [edx + 0x18]
mov dword [esp + 0x40], edx
dec esi
mov dword [esp + 0x20], esi
sar esi, cl
cmp dword [esp + 0x38], 0
mov eax, esi
mov word [ebx + 0x46], si
je 0x1003bf35
xor edi, edi
mov ecx, eax
mov eax, dword [edx + 0x40]
mov ebx, dword [edx + 0x44]
movzx esi, word [edx + 0x1a]
mov dword [esp + 4], ecx
movzx eax, word [eax + ecx*2]
push eax
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ushort
mov edx, dword [esp + 0x44]
add esp, 4
and eax, esi
mov esi, ebx
mov dword [esp + 0x30], edi
lea ebx, [ebx + eax + 1]
movzx ecx, byte [ebx - 1]
cmp cl, byte [edx + 0xb]
mov dword [esp + 0x28], ecx
jbe 0x1003bc4a
add esi, eax
movzx eax, byte [ebx]
test al, al
js 0x1003c344
mov ecx, dword [esp + 0x28]
movzx edi, word [edx + 0xe]
and ecx, 0x7f
shl ecx, 7
add ecx, eax
cmp ecx, edi
mov dword [esp + 0x28], ecx
ja 0x1003c344
add esi, 2
cmp dword [esp + 0x38], 0x10043b80
jne 0x1003c924
movzx ecx, byte [esi + 1]
movzx eax, byte [esi]
xor edi, edi
mov dword [esp + 0x10], esi
cmp ecx, 9
mov dword [esp + 0x34], eax
jne 0x1003bdf8
xor edx, edx
inc edx
mov eax, dword [esp + 8]
mov eax, dword [eax + 4]
mov esi, dword [eax]
mov ebx, dword [eax + 4]
mov dword [esp + 0x1c], eax
mov eax, edi
cmp edx, esi
sbb eax, ebx
jl 0x1003be51
cmp esi, edx
sbb ebx, edi
jl 0x1003c072
mov esi, dword [esp + 8]
movzx eax, word [esi + 8]
cmp ax, 2
jb 0x1003c717
movzx ebx, byte [ecx + 0x10195064]
add ebx, dword [esp + 0x34]
cmp ebx, dword [esp + 0x28]
mov edx, ebx
mov dword [esp + 0x18], ebx
ja 0x1003c8f8
mov edx, dword [esp + 0x1c]
mov ebx, 2
add edx, 0x28
xor ecx, ecx
inc ecx
mov dword [esp + 0x14], ecx
movzx ecx, word [edx + 8]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], ebx
test cl, 0x24
jne 0x1003c00d
test cl, 8
jne 0x1003c941
test cl, 2
jne 0x1003c4d3
mov eax, dword [esp + 0x10]
test cl, 0x10
movzx ecx, byte [eax + ebx]
mov dword [esp + 0xc4], ecx
je 0x1003c59a
test cl, cl
jns 0x1003bb02
mov eax, dword [esp + 0x10]
mov edi, esi
mov esi, ecx
lea ecx, [eax + ebx]
movzx eax, byte [ecx + 1]
test al, al
js 0x1003c842
mov ecx, esi
and ecx, 0x7f
shl ecx, 7
or ecx, eax
mov dword [esp + 0xc4], ecx
mov esi, edi
cmp ecx, 0xc
mov dword [esp + 0xc], ecx
jb 0x1003c8d8
mov eax, ecx
and eax, 1
jne 0x1003c8d8
mov eax, dword [esp + 0x18]
lea ebx, [ecx - 0xc]
shr ebx, 1
add eax, ebx
cmp eax, dword [esp + 0x28]
ja 0x1003c8ec
test byte [edx + 9], 0x40
jne 0x1003c9fb
mov eax, dword [edx + 0xc]
mov esi, ebx
mov ecx, dword [esp + 0x10]
sub esi, eax
cmovle eax, ebx
mov ebx, dword [esp + 0x18]
add ecx, ebx
push eax
push dword [edx + 0x10]
push ecx
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
mov ecx, dword [esp + 4]
cmovne esi, eax
mov ebx, esi
mov esi, dword [esp + 8]
test ebx, ebx
jne 0x1003bbf7
movzx eax, word [esi + 8]
mov edx, dword [esp + 0x14]
movzx ecx, ax
inc edx
cmp edx, ecx
mov ecx, dword [esp + 0x1c]
je 0x1003bdd9
add ecx, 0x28
cmp dword [esp + 0xc], 0x80
jae 0x1003ce2f
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0xc]
mov ebx, esi
mov dword [esp + 0x14], edx
movzx ecx, byte [ecx + 0x10195064]
xor edx, edx
mov esi, dword [esp + 0xc]
inc dword [esp + 0x24]
shrd esi, edx, 7
shr edx, 7
mov dword [esp + 0xc], esi
or esi, edx
jne 0x1003bbb1
mov edx, dword [esp + 0x18]
mov esi, ebx
mov ebx, dword [esp + 0x24]
add edx, ecx
mov ecx, edx
mov dword [esp + 0x18], edx
cmp edx, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
ja 0x1003bdd9
cmp ebx, dword [esp + 0x34]
jb 0x1003ba95
jmp 0x1003bdd9
mov edx, dword [esp + 0x14]
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov al, byte [eax + edx]
test al, al
jne 0x1003ca4a
mov eax, dword [esp + 0x20]
test ebx, ebx
jns 0x1003bc3b
lea edx, [ecx + 1]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x40]
cmp dword [esp + 0x30], eax
jg 0x1003be89
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x20], eax
mov edi, ecx
add ecx, eax
sar ecx, 1
jmp 0x1003b99c
mov edx, dword [esp + 0x40]
je 0x1003c315
lea eax, [ecx - 1]
jmp 0x1003bc1e
cmp dword [esp + 0x38], 0x10043b80
jne 0x1003be26
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx]
xor esi, esi
mov dword [esp + 0x18], ebx
cmp ecx, 9
mov dword [esp + 0x14], eax
jne 0x1003be5b
xor edx, edx
inc edx
mov eax, dword [esp + 8]
mov eax, dword [eax + 4]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov dword [esp + 0x10], eax
mov eax, esi
cmp edx, edi
sbb eax, ebx
jl 0x1003be51
cmp edi, edx
sbb ebx, esi
jl 0x1003c072
mov eax, dword [esp + 8]
mov edi, eax
movzx eax, word [eax + 8]
cmp ax, 2
jb 0x1003c746
movzx ebx, byte [ecx + 0x10195064]
add ebx, dword [esp + 0x14]
cmp ebx, dword [esp + 0x28]
mov edx, ebx
mov dword [esp + 0x1c], ebx
ja 0x1003c8f8
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov esi, edi
mov dword [esp + 0x34], 2
add edx, 0x28
xor ecx, ecx
inc ecx
mov dword [esp + 0xc], ecx
movzx ecx, word [edx + 8]
mov dword [esp + 0x10], edx
test cl, 0x24
jne 0x1003c2a4
test cl, 8
jne 0x1003cae1
test cl, 2
jne 0x1003c5ae
mov eax, dword [esp + 0x34]
test cl, 0x10
movzx ecx, byte [ebx + eax]
mov dword [esp + 0xc4], ecx
je 0x1003c6b5
test cl, cl
jns 0x1003bd55
mov eax, dword [esp + 0x34]
mov esi, edx
mov edx, ebx
mov ebx, ecx
lea ecx, [edx + eax]
movzx eax, byte [ecx + 1]
test al, al
js 0x1003c87a
mov ecx, ebx
mov ebx, dword [esp + 0x18]
mov edx, esi
and ecx, 0x7f
shl ecx, 7
or ecx, eax
mov dword [esp + 0xc4], ecx
cmp ecx, 0xc
mov dword [esp + 0x24], ecx
jb 0x1003c9e7
mov eax, ecx
and eax, 1
jne 0x1003c9e7
mov eax, dword [esp + 0x1c]
mov edi, edx
mov edx, ebx
lea ebx, [ecx - 0xc]
shr ebx, 1
add eax, ebx
cmp eax, dword [esp + 0x28]
ja 0x1003c8ec
test byte [edi + 9], 0x40
jne 0x1003cb8b
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x1c]
mov esi, ebx
sub esi, eax
lea ecx, [edx + ecx]
cmovle eax, ebx
push eax
push dword [edi + 0x10]
push ecx
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
mov ecx, dword [esp + 4]
cmovne esi, eax
mov ebx, esi
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
test ebx, ebx
jne 0x1003bde3
movzx eax, word [esi + 8]
inc edx
movzx ecx, ax
cmp edx, ecx
mov ecx, dword [esp + 0x10]
jne 0x1003c08b
mov byte [esi + 0xe], 1
movsx ebx, byte [esi + 0xa]
jmp 0x1003be48
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov al, byte [eax + edx]
test al, al
je 0x1003bc0b
jmp 0x1003ccb3
cmp cl, 8
ja case.0x1003be0d.0
mov esi, dword [esp + 0x34]
movzx ebx, cl
xor edx, edx
and esi, 0x3f
jmp dword [ebx*4 + 0x1019ade8]
mov eax, dword [esp + 0x10]
movsx edx, byte [eax + esi]
mov edi, edx
sar edi, 0x1f
jmp case.0x1003be0d.8
cmp dword [esp + 0x38], fcn.10044450
jne 0x1003c27c
mov esi, dword [esp + 8]
push esi
push ebx
push dword [esp + 0x30]
call fcn.10044450
add esp, 0xc
mov ebx, eax
mov ecx, dword [esp + 4]
jmp 0x1003bc0b
mov esi, dword [esp + 8]
movsx ebx, byte [esi + 0xc]
jmp 0x1003be48
cmp cl, 8
ja case.0x1003be70.0
mov edi, dword [esp + 0x14]
movzx ebx, cl
xor edx, edx
and edi, 0x3f
jmp dword [ebx*4 + 0x1019adac]
mov eax, dword [esp + 0x18]
movsx edx, byte [eax + edi]
mov esi, edx
sar esi, 0x1f
jmp case.0x1003be70.8
cmp byte [edx + 8], 0
jne 0x1003c0fd
movzx eax, word [edx + 0x18]
mov esi, dword [edx + 0x38]
cmp dword [esp + 0x30], eax
jge 0x1003c07f
mov eax, dword [edx + 0x40]
mov ecx, dword [esp + 0x30]
movzx edi, word [edx + 0x1a]
movzx eax, word [eax + ecx*2]
push eax
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ushort
add esp, 4
and ax, di
movzx eax, ax
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
mov eax, dword [esi + eax]
mov word [ebx + 0x46], di
movsx esi, byte [ebx + 0x44]
cmp esi, 0x13
jge 0x1003ca59
push eax
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
xor edx, edx
mov ecx, dword [ebx + 0x14]
mov word [ebx + 0x32], dx
and byte [ebx + 1], 0xf9
mov word [ebx + esi*2 + 0x48], di
mov edx, dword [ebx + 0x74]
movsx esi, byte [ebx + 0x44]
mov dword [ebx + esi*4 + 0x78], edx
xor edx, edx
mov word [ebx + 0x46], dx
inc byte [ebx + 0x44]
mov edx, eax
movzx esi, byte [ebx + 2]
push esi
push ebx
push dword [esp + 0x84]
call fcn.10042c00
add esp, 0xc
mov ecx, dword [esp + 0x78]
test eax, eax
je 0x1003b975
jmp 0x1003c69a
mov ecx, eax
mov dword [esp + 0x30], 0
mov eax, dword [edx + 0x40]
mov esi, dword [edx + 0x44]
movzx edi, word [edx + 0x1a]
mov dword [esp + 4], ecx
movzx eax, word [eax + ecx*2]
push eax
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ushort
mov ecx, dword [esp + 0x44]
add esp, 4
and eax, edi
add eax, esi
cmp byte [ecx + 3], 0
je 0x1003cccc
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
cmp byte [eax], 0
jns 0x1003bf82
inc eax
cmp eax, dword [ecx + 0x3c]
jb 0x1003bf72
jmp 0x1003ca81
inc eax
mov ecx, eax
lea edx, [esp + 0xc8]
call fcn.10026980
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
cmp eax, edi
mov edx, ecx
sbb edx, esi
jl 0x1003bfc6
cmp edi, eax
mov edx, esi
sbb edx, ecx
jge 0x1003bff2
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x40]
cmp dword [esp + 0x30], ecx
jge 0x1003c83a
dec ecx
mov eax, ecx
jmp 0x1003bfe1
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x40]
lea eax, [ecx + 1]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x20]
cmp ecx, eax
jge 0x1003c7fe
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x20], eax
add ecx, eax
sar ecx, 1
jmp 0x1003bf3f
mov edi, dword [esp + 4]
mov edx, dword [esp + 0x40]
mov word [ebx + 0x46], di
cmp byte [edx + 8], 0
jne 0x1003c202
jmp 0x1003ce47
mov ecx, dword [esp + 0x10]
movzx ecx, byte [ecx + ebx]
cmp ecx, 9
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc], ecx
ja 0x1003c26a
test cl, cl
mov ebx, ecx
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x14]
je 0x1003c768
cmp bl, 7
je 0x1003ce71
mov edx, ebx
mov ecx, edx
dec cl
cmp cl, 5
ja 0x1003c272
jmp 0x1003c494
mov edi, dword [esp + 0x1c]
mov esi, dword [edi]
mov ebx, dword [edi + 4]
mov edi, ecx
cmp edx, esi
sbb edi, ebx
jge 0x1003c25c
jmp 0x1003cca3
mov esi, dword [esp + 8]
movsx ebx, byte [esi + 0xd]
jmp 0x1003be48
movzx eax, byte [edx + 9]
add eax, 8
jmp 0x1003bec2
add ecx, 0x28
cmp dword [esp + 0x24], 0x80
mov dword [esp + 0xc], edx
jae 0x1003cf93
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x24]
mov ebx, esi
movzx ecx, byte [ecx + 0x10195064]
xor edx, edx
mov esi, dword [esp + 0x24]
inc dword [esp + 0x34]
shrd esi, edx, 7
shr edx, 7
mov dword [esp + 0x24], esi
or esi, edx
jne 0x1003c0b3
mov edx, dword [esp + 0x1c]
mov esi, ebx
mov ebx, dword [esp + 0x18]
add edx, ecx
mov ecx, edx
mov dword [esp + 0x1c], edx
cmp edx, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
ja 0x1003bdd9
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x14]
jb 0x1003bce6
jmp 0x1003bdd9
mov eax, dword [esp + 0x2c]
mov edx, dword [ebp + 0x14]
xor esi, esi
mov word [eax + 0x46], cx
mov dword [edx], ebx
mov ebx, eax
mov word [ebx + 0x32], 0
mov ecx, dword [esp + 0xf8]
xor ecx, ebp
call fcn.10192ef0
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp byte [ecx], 0
mov ebx, ecx
mov dword [esp + 0x38], 0
jne 0x1003b94a
movzx eax, byte [ebx + 1]
test al, 2
je 0x1003b94a
mov ecx, dword [ebx + 0x24]
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0x20]
mov edi, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov esi, ecx
xor esi, edi
mov edi, eax
xor edi, edx
or edi, esi
je 0x1003c212
cmp eax, edx
mov esi, ecx
sbb esi, dword [ebp + 0xc]
jge 0x1003b94a
test byte [esp + 0x30], 8
jne 0x1003c56d
add eax, 1
adc ecx, 0
xor eax, dword [ebp + 8]
xor ecx, dword [ebp + 0xc]
or ecx, eax
jne 0x1003b94a
mov eax, dword [ebp + 0x14]
mov dword [eax], 0
mov word [ebx + 0x32], 0
and byte [ebx + 1], 0xf9
cmp byte [ebx], 0
jne 0x1003c8ac
movzx ecx, word [ebx + 0x46]
mov eax, dword [ebx + 0x74]
lea edx, [ecx + 1]
mov word [ebx + 0x46], dx
cmp dx, word [eax + 0x18]
jae 0x1003c8a8
cmp byte [eax + 8], 0
je 0x1003c8cf
mov ecx, ebx
call fcn.1002a650
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebx + 0x20]
mov esi, 0
mov dword [esp + 0x38], 0
xor eax, dword [ebp + 0xc]
xor ecx, dword [ebp + 8]
or ecx, eax
je 0x1003c114
jmp 0x1003b94a
or byte [ebx + 1], 2
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], ecx
mov word [ebx + 0x32], 0
mov eax, dword [ebp + 0x14]
xor esi, esi
mov dword [eax], 0
jmp 0x1003c114
test cl, 0x39
jne 0x1003b946
cmp dword [eax + 0x14], 0
mov esi, fcn.10044450
je 0x1003b942
jmp 0x1003b946
mov eax, dword [esp + 0x10]
movsx ebx, byte [eax + esi]
mov edx, dword [eax + esi + 2]
movzx edi, byte [eax + esi + 1]
shl ebx, 8
bswap edx
or edi, ebx
jmp case.0x1003be0d.8
cmp esi, edx
mov esi, dword [esp + 8]
sbb ebx, ecx
jge 0x1003bb75
xor ebx, ebx
inc ebx
jmp 0x1003ccaa
add edx, 0xfffffff8
xor ecx, ecx
jmp 0x1003c058
cmp dword [esp + 0x38], 0x10043b60
mov esi, dword [esp + 8]
jne 0x1003cfa7
mov ecx, dword [esp + 0x28]
mov edx, ebx
push 0
push esi
call fcn.1003e800
add esp, 8
jmp 0x1003be46
mov ecx, dword [esp + 0x34]
movzx ecx, byte [ebx + ecx]
cmp ecx, 9
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x24], ecx
ja 0x1003cbd0
test cl, cl
mov edx, ecx
mov ecx, dword [esp + 4]
je 0x1003c7bf
cmp dl, 7
je 0x1003cfb8
mov ecx, edx
dec cl
cmp cl, 5
jbe 0x1003c57d
add edx, 0xfffffff8
xor ecx, ecx
mov esi, dword [esp + 0x10]
mov edi, dword [esi]
mov ebx, dword [esi + 4]
mov esi, ecx
cmp edx, edi
sbb esi, ebx
jl 0x1003cded
cmp edi, edx
sbb ebx, ecx
jl 0x1003cde0
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
jmp 0x1003bdc9
mov eax, dword [ebp + 0x14]
mov ebx, dword [esp + 0x2c]
xor esi, esi
mov dword [eax], 0
mov word [ebx + 0x46], cx
mov ecx, dword [esp + 0x3c]
cmp byte [ecx], 0
je 0x1003c10e
push 0x101b128f
push 0x112d3
jmp 0x1003ca63
movzx ecx, byte [edx + 0xa]
mov ebx, esi
mov edi, dword [esp + 0x2c]
mov esi, edx
sub ebx, ecx
mov ecx, dword [edx + 0x50]
lea eax, [edi + 0x20]
mov dword [esp + 0x28], eax
call dword [section..00cfg]
push dword [esp + 0x28]
push ebx
push esi
call ecx
add esp, 0xc
mov ebx, dword [edi + 0x20]
cmp ebx, 2
jl 0x1003caa9
mov ecx, dword [edi + 0x14]
mov eax, ebx
xor edx, edx
div dword [ecx + 0x28]
cmp eax, dword [ecx + 0x30]
ja 0x1003caa9
lea ecx, [ebx + 0x12]
mov edx, ecx
sar edx, 0x1f
call fcn.10002c70
test eax, eax
je 0x1003cad3
mov edi, eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 4]
xor edx, edx
mov word [ecx + 0x46], ax
xor eax, eax
push eax
push edi
push ebx
call fcn.1002a760
add esp, 0xc
mov ecx, dword [esp + 0x2c]
mov esi, eax
xor eax, eax
mov word [edi + ebx + 0x10], 0
mov dword [edi + ebx + 4], eax
mov dword [edi + ebx], eax
mov dword [edi + ebx + 0xc], eax
mov dword [edi + ebx + 8], eax
and byte [ecx + 1], 0xfb
test esi, esi
jne 0x1003ca38
mov ecx, ebx
mov edx, edi
push 0
push dword [esp + 0xc]
call fcn.1003e800
add esp, 8
cmp dword [0x101d2020], 0
mov ebx, eax
je 0x1003d0d6
mov esi, dword [0x101d47e8]
test esi, esi
je 0x1003c42c
mov ecx, dword [0x101d2070]
cmp ecx, 0x10019bd0
jne 0x1003d0ed
push esi
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov ecx, dword [0x101d204c]
mov dword [esp + 0x44], ebx
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov ecx, dword [0x101d2044]
sub dword [0x101d4794], eax
dec dword [0x101d47b8]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
mov esi, dword [0x101d47e8]
test esi, esi
je 0x1003c483
mov ecx, dword [0x101d2078]
cmp ecx, 0x10019c10
jne 0x1003d0fe
push esi
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x44]
jmp 0x1003bc0f
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
movzx ecx, cl
lea ebx, [edx + esi]
jmp dword [ecx*4 + 0x1019ae0c]
mov eax, dword [esp + 0x18]
movsx ebx, byte [eax + edi]
mov edx, dword [eax + edi + 2]
movzx esi, byte [eax + edi + 1]
shl ebx, 8
bswap edx
or esi, ebx
jmp case.0x1003be70.8
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + ebx]
test al, al
mov dword [esp + 0xc4], eax
js 0x1003d132
cmp eax, 0xc
mov dword [esp + 0xc], eax
jb 0x1003c8d8
test al, 1
je 0x1003c26a
mov ecx, dword [esp + 0x18]
add eax, 0xfffffff4
mov edi, dword [esp + 0x14]
shr eax, 1
mov dword [esp + 0xd4], eax
add ecx, eax
cmp ecx, dword [esp + 0x28]
ja 0x1003c8e0
mov ebx, dword [esi]
movzx ecx, word [ebx + 8]
cmp edi, ecx
jae 0x1003c8e0
cmp dword [ebx + edi*4 + 0x14], 0
jne 0x1003c64c
mov ecx, dword [edx + 0xc]
mov edi, eax
mov ebx, dword [esp + 0x18]
sub edi, ecx
cmovle ecx, eax
mov eax, dword [esp + 0x10]
add eax, ebx
mov ebx, edi
push ecx
push dword [edx + 0x10]
push eax
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
cmovne ebx, eax
jmp 0x1003c5a5
mov esi, eax
cmp eax, 0x10
jne 0x1003c114
mov eax, dword [ebp + 0x14]
xor esi, esi
mov dword [eax], 0xffffffff
jmp 0x1003c114
mov edx, dword [esp + 0x1c]
movzx ecx, cl
add ebx, edx
jmp dword [ecx*4 + 0x1019add0]
movsx edx, byte [ebx]
mov ecx, edx
sar ecx, 0x1f
jmp 0x1003c2e9
xor ebx, ebx
test cl, cl
mov dword [esp + 0xc], ecx
setne bl
mov ecx, dword [esp + 4]
jmp 0x1003bb69
mov eax, dword [esp + 0x34]
movzx eax, byte [ebx + eax]
test al, al
mov dword [esp + 0xc4], eax
js 0x1003d178
cmp eax, 0xc
mov dword [esp + 0x24], eax
jb 0x1003cbc8
test al, 1
je 0x1003cbd0
mov ecx, dword [esp + 0x1c]
add eax, 0xfffffff4
mov edi, dword [esp + 0xc]
shr eax, 1
mov dword [esp + 0xd4], eax
add ecx, eax
cmp ecx, dword [esp + 0x28]
ja 0x1003c8e0
mov ebx, dword [esi]
movzx ecx, word [ebx + 8]
cmp edi, ecx
jae 0x1003c8e0
cmp dword [ebx + edi*4 + 0x14], 0
jne 0x1003c6c9
mov ecx, dword [edx + 0xc]
mov ebx, eax
sub ebx, ecx
mov dword [esp + 0x44], ebx
cmovle ecx, eax
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
add eax, ebx
mov ebx, dword [esp + 0x44]
push ecx
push dword [edx + 0x10]
push eax
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
cmovne ebx, eax
mov ecx, dword [esp + 4]
mov edx, edi
jmp 0x1003bdc1
mov al, byte [ebx + 4]
mov ecx, dword [esp + 0x18]
mov byte [esp + 0xd2], al
mov eax, dword [ebx + 0xc]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x10]
mov word [esp + 0xd0], 2
lea eax, [eax + ecx]
lea ecx, [esp + 0xc8]
mov dword [esp + 0xd8], eax
push dword [esp + 0x3c]
push dword [ebx + edi*4 + 0x14]
call fcn.100423b0
add esp, 8
mov ebx, eax
jmp 0x1003c5a5
mov esi, eax
jmp 0x1003c10e
mov eax, dword [esp + 0x10]
mov edi, dword [eax + esi]
mov edx, dword [eax + esi + 4]
bswap edi
bswap edx
jmp case.0x1003be0d.8
xor ebx, ebx
test cl, cl
mov dword [esp + 0x24], ecx
setne bl
mov ecx, dword [esp + 4]
jmp 0x1003bdbd
mov al, byte [ebx + 4]
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0xd2], al
mov eax, dword [ebx + 0xc]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x18]
mov word [esp + 0xd0], 2
lea eax, [eax + ecx]
lea ecx, [esp + 0xc8]
mov dword [esp + 0xd8], eax
push dword [esp + 0x3c]
push dword [ebx + edi*4 + 0x14]
call fcn.100423b0
add esp, 8
mov ebx, eax
jmp 0x1003c641
movsx ebx, byte [esi + 0xa]
mov byte [esi + 0xe], 1
jmp 0x1003be48
mov eax, dword [esp + 0x18]
mov esi, dword [eax + edi]
mov edx, dword [eax + edi + 4]
bswap esi
bswap edx
jmp case.0x1003be70.8
movsx ebx, byte [edi + 0xa]
mov esi, edi
mov byte [edi + 0xe], 1
jmp 0x1003be48
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
push 0
mov esi, dword [esp + 0xc]
jmp 0x1003c296
xor ebx, ebx
mov dword [esp + 0xc], 0
dec ebx
jmp 0x1003bbfb
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
bswap ecx
bswap edx
jmp 0x1003c2e9
mov eax, dword [esp + 0x10]
movsx edi, byte [eax + esi]
movzx edx, byte [eax + esi + 1]
mov ebx, edi
shl ebx, 8
or edx, ebx
jmp 0x1003be1e
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
jmp 0x1003c75d
xor ebx, ebx
mov dword [esp + 0x24], 0
dec ebx
jmp 0x1003cdf8
mov eax, dword [esp + 0x18]
movsx esi, byte [eax + edi]
movzx edx, byte [eax + edi + 1]
mov ebx, esi
shl ebx, 8
or edx, ebx
jmp 0x1003be81
movsx esi, byte [ebx]
mov edx, dword [ebx + 2]
movzx ecx, byte [ebx + 1]
shl esi, 8
bswap edx
or ecx, esi
jmp 0x1003c2e9
xor ebx, ebx
dec ebx
jmp 0x1003be89
mov eax, dword [esp + 0x10]
mov edx, dword [eax + esi]
bswap edx
jmp 0x1003be1c
movsx ecx, byte [ebx]
movzx edx, byte [ebx + 1]
mov esi, ecx
shl esi, 8
or edx, esi
jmp 0x1003c592
xor ebx, ebx
inc ebx
jmp 0x1003be89
movzx edx, byte [ecx + 2]
test dl, dl
js 0x1003d19b
mov ecx, esi
and eax, 0x7f
shl ecx, 0xe
shl eax, 7
or ecx, edx
and ecx, 0x1fc07f
or ecx, eax
mov edx, dword [esp + 0x1c]
jmp 0x1003baf9
mov eax, dword [esp + 0x18]
mov edx, dword [eax + edi]
bswap edx
jmp 0x1003be7f
movzx edx, byte [ecx + 2]
test dl, dl
js 0x1003d1c4
mov ecx, ebx
and eax, 0x7f
shl ecx, 0xe
shl eax, 7
or ecx, edx
and ecx, 0x1fc07f
or ecx, eax
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
jmp 0x1003bd4e
mov word [ebx + 0x46], cx
mov ecx, ebx
call fcn.10044570
mov ebx, dword [esp + 0x2c]
mov esi, eax
test eax, eax
je 0x1003c1d5
cmp esi, 0x65
je 0x1003b94a
jmp 0x1003c114
mov ecx, ebx
call fcn.10044740
jmp 0x1003c8b3
xor ebx, ebx
dec ebx
jmp 0x1003ccaa
push 0x101b128f
push 0x1428e
jmp 0x1003c902
push 0x101b128f
push 0x142ac
jmp 0x1003c902
push 0x101b128f
push 0x14241
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov eax, dword [esp + 0x3c]
xor ebx, ebx
mov byte [eax], 0xb
jmp 0x1003be48
mov ecx, dword [esp + 0x38]
call dword [section..00cfg]
mov edx, dword [esp + 8]
mov eax, esi
push edx
push eax
push dword [esp + 0x30]
call ecx
jmp 0x1003be43
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + ebx]
cmp eax, 9
mov dword [esp + 0xc], eax
mov dword [esp + 0xc4], eax
ja 0x1003cc96
cmp byte [esp + 0xc], 0
je 0x1003ca2b
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0xc]
add ecx, eax
lea eax, [esp + 0xc8]
mov edx, ebx
push eax
call fcn.1003ac40
add esp, 4
cmp bl, 7
jne 0x1003cbd8
mov eax, dword [esp + 0x1c]
movsd xmm0, qword [esp + 0xc8]
mov dword [esp + 0xc], 7
movsd xmm1, qword [eax]
ucomisd xmm1, xmm0
ja 0x1003cca3
ucomisd xmm0, xmm1
ja 0x1003cc96
mov esi, dword [esp + 8]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
movzx eax, word [esi + 8]
inc edx
cmp edx, eax
je 0x1003bdd9
add ecx, 0x28
mov dword [esp + 0xc], 7
jmp 0x1003bb9a
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 8]
xor ebx, ebx
dec ebx
jmp 0x1003bde3
mov edx, ebx
test ebx, ebx
je 0x1003ca1a
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
add eax, ecx
mov ecx, edx
cmp byte [eax], 0
jne 0x1003cc96
inc eax
dec ecx
jne 0x1003ca0d
mov eax, dword [esp + 0x1c]
mov ebx, edx
sub ebx, dword [eax]
mov esi, dword [esp + 8]
jmp 0x1003c5a5
mov dword [esp + 0xc], 0
jmp 0x1003cca3
push edi
call sym.nss3.dll_sqlite3_free
add esp, 4
mov ebx, dword [esp + 0x2c]
jmp 0x1003c10e
test al, 2
jne 0x1003ccd7
neg ebx
jmp 0x1003be48
push 0x101b128f
push 0x110c8
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov esi, 0xb
jmp 0x1003c10e
push 0x101b128f
push 0x11268
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov esi, 0xb
jmp 0x1003c114
push 0x101b128f
push 0x112b3
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov esi, 0xb
mov ebx, edi
jmp 0x1003c10e
mov ebx, dword [esp + 0x2c]
mov esi, 7
jmp 0x1003c10e
mov eax, dword [esp + 0x34]
movzx eax, byte [ebx + eax]
cmp eax, 9
mov dword [esp + 0x24], eax
mov dword [esp + 0xc4], eax
ja 0x1003cde0
cmp byte [esp + 0x24], 0
je 0x1003cbbb
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
add ecx, eax
lea eax, [esp + 0xc8]
mov edx, ebx
push eax
call fcn.1003ac40
add esp, 4
cmp bl, 7
jne 0x1003cd22
mov eax, dword [esp + 0x10]
movsd xmm0, qword [esp + 0xc8]
mov dword [esp + 0x24], 7
movsd xmm1, qword [eax]
ucomisd xmm1, xmm0
ja 0x1003cded
ucomisd xmm0, xmm1
ja 0x1003cde0
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
movzx eax, word [esi + 8]
inc edx
cmp edx, eax
je 0x1003bdd9
add ecx, 0x28
mov dword [esp + 0xc], edx
mov dword [esp + 0x24], 7
jmp 0x1003c0a0
mov edx, ebx
test ebx, ebx
je 0x1003cbaa
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
add eax, ecx
mov ecx, edx
cmp byte [eax], 0
jne 0x1003cde0
inc eax
dec ecx
jne 0x1003cb9d
mov eax, dword [esp + 0x10]
mov ebx, edx
sub ebx, dword [eax]
mov esi, dword [esp + 8]
jmp 0x1003c6c0
mov dword [esp + 0x24], 0
jmp 0x1003cded
xor ebx, ebx
dec ebx
jmp 0x1003cdf4
xor ebx, ebx
inc ebx
jmp 0x1003cdf4
mov eax, dword [esp + 0x1c]
movsd xmm1, qword [0x10194168]
movsd xmm0, qword [eax]
ucomisd xmm1, xmm0
ja 0x1003cc8e
ucomisd xmm0, qword [0x10194170]
jae 0x1003cc9b
mov ecx, dword [esp + 0xcc]
mov eax, dword [esp + 0xc8]
movsd qword [esp + 0x58], xmm0
fld qword [esp + 0x58]
fnstcw word [esp + 0x48]
movzx edx, word [esp + 0x48]
mov edi, ecx
or edx, 0xc00
mov word [esp + 0x50], dx
fldcw word [esp + 0x50]
fistp qword [esp + 0x58]
fldcw word [esp + 0x48]
mov esi, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
cmp eax, esi
sbb edi, edx
jl 0x1003cc9b
cmp esi, eax
sbb edx, ecx
jl 0x1003cc8e
movd xmm1, eax
movd xmm2, ecx
punpckldq xmm1, xmm2
movq qword [esp + 0x88], xmm1
fild qword [esp + 0x88]
fstp qword [esp + 0x80]
movsd xmm1, qword [esp + 0x80]
ucomisd xmm0, xmm1
ja 0x1003cc9b
xor ebx, ebx
ucomisd xmm1, xmm0
seta bl
jmp 0x1003ca22
mov dword [esp + 0xc], 7
xor ebx, ebx
inc ebx
jmp 0x1003cca6
mov dword [esp + 0xc], 7
xor ebx, ebx
dec ebx
mov esi, dword [esp + 8]
mov ecx, dword [esp + 4]
jmp 0x1003bbf7
test al, 2
je 0x1003ca52
cmp dword [esp + 0x24], 0
je 0x1003ce01
mov ecx, dword [esp + 0x10]
jmp 0x1003cce6
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
jmp 0x1003bf83
cmp dword [esp + 0xc], 0
je 0x1003ce01
mov ecx, dword [esp + 0x1c]
mov cl, byte [ecx + 8]
and cl, 1
test al, 1
sete al
xor al, cl
jne 0x1003be48
jmp 0x1003ca52
mov ebx, dword [esp + 0x2c]
jmp 0x1003b946
test bl, 2
mov ebx, dword [esp + 0x2c]
mov esi, 0x10043b60
jne 0x1003b942
mov bl, 0xff
mov bh, 1
jmp 0x1003b92a
mov eax, dword [esp + 0x10]
movsd xmm1, qword [0x10194168]
movsd xmm0, qword [eax]
ucomisd xmm1, xmm0
ja 0x1003cdd8
ucomisd xmm0, qword [0x10194170]
jae 0x1003cde5
mov ecx, dword [esp + 0xcc]
mov eax, dword [esp + 0xc8]
movsd qword [esp + 0x68], xmm0
fld qword [esp + 0x68]
fnstcw word [esp + 0x4c]
movzx edx, word [esp + 0x4c]
mov esi, ecx
or edx, 0xc00
mov word [esp + 0x54], dx
fldcw word [esp + 0x54]
fistp qword [esp + 0x68]
fldcw word [esp + 0x4c]
mov ebx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp eax, ebx
sbb esi, edx
jl 0x1003cde5
cmp ebx, eax
sbb edx, ecx
jl 0x1003cdd8
movd xmm1, eax
movd xmm2, ecx
punpckldq xmm1, xmm2
movq qword [esp + 0xa8], xmm1
fild qword [esp + 0xa8]
fstp qword [esp + 0xa0]
movsd xmm1, qword [esp + 0xa0]
ucomisd xmm0, xmm1
ja 0x1003cde5
xor ebx, ebx
ucomisd xmm1, xmm0
seta bl
jmp 0x1003cbb2
mov dword [esp + 0x24], 7
xor ebx, ebx
inc ebx
jmp 0x1003cdf0
mov dword [esp + 0x24], 7
xor ebx, ebx
dec ebx
mov esi, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
jmp 0x1003bde3
test al, 1
jne 0x1003be48
jmp 0x1003ca52
mov eax, dword [esp + 0x10]
movsx edi, byte [eax + esi]
movzx ebx, byte [eax + esi + 1]
mov edx, edi
shl ebx, 8
shl edx, 0x10
or ebx, edx
movzx edx, byte [eax + esi + 2]
jmp 0x1003c798
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x14], edx
mov ebx, esi
add ecx, 0xfffffff4
shr ecx, 1
jmp 0x1003bbaf
mov dword [esp + 0x30], edi
jmp 0x1003be93
mov eax, dword [esp + 0x18]
movsx esi, byte [eax + edi]
movzx ebx, byte [eax + edi + 1]
mov edx, esi
shl ebx, 8
shl edx, 0x10
or ebx, edx
movzx edx, byte [eax + edi + 2]
jmp 0x1003c7e1
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
movsd xmm2, qword [0x10194168]
mov esi, 1
mov dword [esp + 0xc], 7
mov eax, dword [ecx + edx]
mov ecx, dword [ecx + edx + 4]
bswap eax
bswap ecx
mov edx, eax
mov dword [esp + 0xcc], eax
movd xmm1, eax
and eax, 0xfffff
movd xmm0, ecx
mov dword [esp + 0xc8], ecx
or eax, ecx
mov eax, 8
not edx
punpckldq xmm0, xmm1
cmovne eax, esi
test edx, 0x7ff00000
mov edx, 8
cmovne eax, edx
ucomisd xmm2, xmm0
mov word [esp + 0xd0], ax
ja 0x1003cca3
ucomisd xmm0, qword [0x10194170]
jae 0x1003cc96
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
movsd qword [esp + 0x60], xmm0
fld qword [esp + 0x60]
fnstcw word [esp + 0x4a]
movzx edx, word [esp + 0x4a]
mov edi, eax
or edx, 0xc00
mov word [esp + 0x52], dx
fldcw word [esp + 0x52]
fistp qword [esp + 0x60]
fldcw word [esp + 0x4a]
mov esi, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
cmp ecx, esi
sbb edi, edx
jl 0x1003cc96
cmp esi, ecx
sbb edx, eax
jl 0x1003cca3
movd xmm1, ecx
movd xmm2, eax
punpckldq xmm1, xmm2
movq qword [esp + 0x98], xmm1
fild qword [esp + 0x98]
fstp qword [esp + 0x90]
movsd xmm1, qword [esp + 0x90]
ucomisd xmm0, xmm1
ja 0x1003cc96
xor ebx, ebx
ucomisd xmm1, xmm0
mov dword [esp + 0xc], 7
seta bl
neg ebx
jmp 0x1003ca22
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x24]
mov ebx, esi
add ecx, 0xfffffff4
shr ecx, 1
jmp 0x1003c0b1
mov ecx, dword [esp + 0x38]
call dword [section..00cfg]
push esi
push ebx
jmp 0x1003c936
mov ecx, dword [esp + 0x1c]
movsd xmm2, qword [0x10194168]
mov esi, 1
mov dword [esp + 0x24], 7
mov eax, dword [ebx + ecx]
mov ecx, dword [ebx + ecx + 4]
bswap eax
bswap ecx
mov edx, eax
mov dword [esp + 0xcc], eax
movd xmm1, eax
and eax, 0xfffff
movd xmm0, ecx
mov dword [esp + 0xc8], ecx
or eax, ecx
mov eax, 8
not edx
punpckldq xmm0, xmm1
cmovne eax, esi
test edx, 0x7ff00000
mov edx, 8
cmovne eax, edx
ucomisd xmm2, xmm0
mov word [esp + 0xd0], ax
ja 0x1003cded
ucomisd xmm0, qword [0x10194170]
jae 0x1003cde0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
movsd qword [esp + 0x70], xmm0
fld qword [esp + 0x70]
fnstcw word [esp + 0x4e]
movzx edx, word [esp + 0x4e]
mov esi, eax
or edx, 0xc00
mov word [esp + 0x56], dx
fldcw word [esp + 0x56]
fistp qword [esp + 0x70]
fldcw word [esp + 0x4e]
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
cmp ecx, ebx
sbb esi, edx
jl 0x1003cde0
cmp ebx, ecx
sbb edx, eax
jl 0x1003cded
movd xmm1, ecx
movd xmm2, eax
punpckldq xmm1, xmm2
movq qword [esp + 0xb8], xmm1
fild qword [esp + 0xb8]
fstp qword [esp + 0xb0]
movsd xmm1, qword [esp + 0xb0]
ucomisd xmm0, xmm1
ja 0x1003cde0
xor ebx, ebx
ucomisd xmm1, xmm0
mov dword [esp + 0x24], 7
seta bl
neg ebx
jmp 0x1003cbb2
mov ecx, dword [0x101d2044]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
jmp 0x1003be48
call dword [section..00cfg]
push esi
call ecx
add esp, 4
jmp 0x1003c42c
call dword [section..00cfg]
push esi
call ecx
add esp, 4
jmp 0x1003c483
mov eax, dword [esp + 0x10]
lea edx, [esp + 0xc4]
lea ecx, [eax + ebx]
call fcn.1003ab70
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0xc4]
jmp 0x1003c4ea
movsx ecx, byte [ebx]
movzx esi, byte [ebx + 1]
mov edx, ecx
shl esi, 8
shl edx, 0x10
or esi, edx
movzx edx, byte [ebx + 2]
jmp 0x1003c833
mov edx, dword [ebx]
bswap edx
jmp 0x1003c590
mov eax, dword [esp + 0x34]
lea edx, [esp + 0xc4]
lea ecx, [ebx + eax]
call fcn.1003ab70
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc4]
jmp 0x1003c5c5
lea edx, [esp + 0xf0]
call fcn.10026980
cmp dword [esp + 0xf4], 1
mov ecx, 0
sbb ecx, ecx
not ecx
or ecx, dword [esp + 0xf0]
jmp 0x1003c863
lea edx, [esp + 0xf0]
call fcn.10026980
cmp dword [esp + 0xf4], 1
mov ecx, 0
sbb ecx, ecx
not ecx
or ecx, dword [esp + 0xf0]
jmp 0x1003c89b