Function at 0x1003d320
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1f4
mov eax, dword [0x101c8c40]
xor eax, esp
mov dword [esp + 0x1f0], eax
mov edx, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov esi, ecx
mov dword [esp + 0xc], ebx
nop dword [eax]
cmp edx, dword [ebx]
jb 0x1003d384
mov eax, edx
sub eax, dword [ebx + 4]
cmp eax, dword [ebx + 0x10]
je 0x1003eb7b
push dword [ebx + 0x48]
mov ecx, ebx
push eax
lea eax, [esp + 0x80]
push eax
call fcn.10081690
cmp byte [esp + 0x7c], 0
mov edx, dword [esp + 0x78]
jne 0x1003eb87
movzx ebx, byte [edx]
lea edi, [edx + 1]
cmp ebx, 0x80
jb 0x1003d3cc
movzx ecx, byte [edi]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
cmp ecx, 0x80
jae 0x1003d3ac
lea edi, [edx + 2]
jmp 0x1003d3cc
push ebx
push edx
lea eax, [esp + 0x88]
push eax
call fcn.10082080
mov ebx, dword [esp + 0x90]
add esp, 0xc
mov edi, dword [esp + 0x80]
test edi, edi
je 0x1003d64f
mov eax, ebx
shr eax, 3
dec eax
cmp eax, 0x6d
ja case.0x1003d3ea.12
movzx eax, byte [eax + 0x1003ecac]
jmp dword [eax*4 + 0x1003ebc4]
cmp bl, 8
jne case.0x1003d3ea.12
or dword [esi + 8], 0x2000000
movzx ebx, byte [edi]
test bl, bl
js 0x1003d40d
lea edx, [edi + 1]
jmp 0x1003d444
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003d424
lea edx, [edi + 2]
jmp 0x1003d444
push ebx
lea eax, [esp + 0x8c]
push edi
push eax
call fcn.10082100
mov ebx, dword [esp + 0x98]
add esp, 0xc
mov edx, dword [esp + 0x88]
mov dword [esi + 0x78], ebx
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 0x10
jne case.0x1003d3ea.12
or dword [esi + 8], 0x4000000
movzx ebx, byte [edi]
test bl, bl
js 0x1003d474
lea edx, [edi + 1]
jmp 0x1003d4ab
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003d48b
lea edx, [edi + 2]
jmp 0x1003d4ab
push ebx
lea eax, [esp + 0x94]
push edi
push eax
call fcn.10082100
mov ebx, dword [esp + 0xa0]
add esp, 0xc
mov edx, dword [esp + 0x90]
mov dword [esi + 0x7c], ebx
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 0x18
jne case.0x1003d3ea.12
or dword [esi + 8], 0x8000000
movzx ebx, byte [edi]
test bl, bl
js 0x1003d4db
lea edx, [edi + 1]
jmp 0x1003d512
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003d4f2
lea edx, [edi + 2]
jmp 0x1003d512
push ebx
lea eax, [esp + 0x9c]
push edi
push eax
call fcn.10082100
mov ebx, dword [esp + 0xa8]
add esp, 0xc
mov edx, dword [esp + 0x98]
mov dword [esi + 0x80], ebx
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 0x20
jne case.0x1003d3ea.12
or dword [esi + 8], 0x10000000
movzx ebx, byte [edi]
test bl, bl
js 0x1003d545
lea edx, [edi + 1]
jmp 0x1003d57c
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003d55c
lea edx, [edi + 2]
jmp 0x1003d57c
push ebx
lea eax, [esp + 0xa4]
push edi
push eax
call fcn.10082100
mov ebx, dword [esp + 0xb0]
add esp, 0xc
mov edx, dword [esp + 0xa0]
mov dword [esi + 0x84], ebx
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 0x28
jne case.0x1003d3ea.12
or dword [esi + 8], 0x20000000
movzx ebx, byte [edi]
test bl, bl
js 0x1003d5af
lea edx, [edi + 1]
jmp 0x1003d5e6
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003d5c6
lea edx, [edi + 2]
jmp 0x1003d5e6
push ebx
lea eax, [esp + 0xac]
push edi
push eax
call fcn.10082100
mov ebx, dword [esp + 0xb8]
add esp, 0xc
mov edx, dword [esp + 0xa8]
mov dword [esi + 0x88], ebx
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 0x32
jne case.0x1003d3ea.12
or dword [esi + 8], 1
mov ecx, dword [esi + 4]
test cl, 3
jne 0x1003d613
and ecx, 0xfffffffc
jmp 0x1003d624
mov eax, ecx
shr eax, 1
test al, 1
je 0x1003d61f
xor ecx, ecx
jmp 0x1003d624
and ecx, 0xfffffffc
mov ecx, dword [ecx]
push ecx
mov byte [esp + 0x24], 0
lea ecx, [esi + 0x14]
push dword [esp + 0x24]
call fcn.100474b0
mov ebx, dword [esp + 0xc]
push ebx
push edi
push eax
call fcn.10081850
add esp, 0xc
mov edx, eax
test edx, edx
jne 0x1003d350
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1f0]
xor ecx, esp
call fcn.10122cc7
mov esp, ebp
pop ebp
ret 8
cmp bl, 0x38
jne case.0x1003d3ea.12
or dword [esi + 8], 0x40000000
movzx ebx, byte [edi]
test bl, bl
js 0x1003d684
lea edx, [edi + 1]
jmp 0x1003d6bb
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003d69b
lea edx, [edi + 2]
jmp 0x1003d6bb
push ebx
lea eax, [esp + 0xb4]
push edi
push eax
call fcn.10082100
mov ebx, dword [esp + 0xc0]
add esp, 0xc
mov edx, dword [esp + 0xb0]
mov dword [esi + 0x8c], ebx
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 0x40
jne case.0x1003d3ea.12
or dword [esi + 0xc], 0x400
movzx ebx, byte [edi]
test bl, bl
js 0x1003d6ec
xor eax, eax
lea edx, [edi + 1]
jmp 0x1003d72c
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003d705
xor eax, eax
lea edx, [edi + 2]
jmp 0x1003d72c
push ebx
lea eax, [esp + 0xfc]
push edi
push eax
call fcn.10082180
mov ebx, dword [esp + 0x10c]
add esp, 0xc
mov eax, dword [esp + 0x104]
mov edx, dword [esp + 0xf8]
or ebx, eax
je 0x1003d734
mov al, 1
jmp 0x1003d736
xor al, al
mov byte [esi + 0xb8], al
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 0x4a
jne case.0x1003d3ea.12
or dword [esi + 8], 2
mov ecx, dword [esi + 4]
test cl, 3
jne 0x1003d777
and ecx, 0xfffffffc
mov byte [esp + 0x24], 0
push ecx
push dword [esp + 0x28]
lea ecx, [esi + 0x18]
jmp 0x1003d631
mov eax, ecx
shr eax, 1
test al, 1
je 0x1003d792
xor ecx, ecx
mov byte [esp + 0x24], cl
push ecx
push dword [esp + 0x28]
lea ecx, [esi + 0x18]
jmp 0x1003d631
and ecx, 0xfffffffc
mov byte [esp + 0x24], 0
mov ecx, dword [ecx]
push ecx
push dword [esp + 0x28]
lea ecx, [esi + 0x18]
jmp 0x1003d631
cmp bl, 0x50
jne case.0x1003d3ea.12
or dword [esi + 8], 0x80000000
movzx ebx, byte [edi]
test bl, bl
js 0x1003d7c5
lea edx, [edi + 1]
jmp 0x1003d7fc
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003d7dc
lea edx, [edi + 2]
jmp 0x1003d7fc
push ebx
lea eax, [esp + 0xbc]
push edi
push eax
call fcn.10082100
mov ebx, dword [esp + 0xc8]
add esp, 0xc
mov edx, dword [esp + 0xb8]
mov dword [esi + 0x90], ebx
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 0x5a
jne case.0x1003d3ea.12
or dword [esi + 8], 0x400000
mov eax, dword [esi + 0x6c]
test eax, eax
jne 0x1003d850
mov ecx, dword [esi + 4]
test cl, 3
jne 0x1003d837
and ecx, 0xfffffffc
jmp 0x1003d848
mov eax, ecx
shr eax, 1
test al, 1
je 0x1003d843
xor ecx, ecx
jmp 0x1003d848
and ecx, 0xfffffffc
mov ecx, dword [ecx]
call fcn.10039a10
mov dword [esi + 0x6c], eax
mov ebx, dword [esp + 0xc]
mov ecx, ebx
push edi
push eax
call fcn.10028b00
jmp 0x1003d645
cmp bl, 0xa0
jne case.0x1003d3ea.12
or dword [esi + 0xc], 1
movzx ebx, byte [edi]
test bl, bl
js 0x1003d87b
lea edx, [edi + 1]
jmp 0x1003d8b2
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003d892
lea edx, [edi + 2]
jmp 0x1003d8b2
push ebx
lea eax, [esp + 0xc4]
push edi
push eax
call fcn.10082100
mov ebx, dword [esp + 0xd0]
add esp, 0xc
mov edx, dword [esp + 0xc0]
mov dword [esi + 0x94], ebx
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 0xa8
jne case.0x1003d3ea.12
or dword [esi + 0xc], 4
movzx ebx, byte [edi]
test bl, bl
js 0x1003d8e2
lea edx, [edi + 1]
jmp 0x1003d919
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003d8f9
lea edx, [edi + 2]
jmp 0x1003d919
push ebx
lea eax, [esp + 0xcc]
push edi
push eax
call fcn.10082100
mov ebx, dword [esp + 0xd8]
add esp, 0xc
mov edx, dword [esp + 0xc8]
mov dword [esi + 0xa0], ebx
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 0xb1
jne case.0x1003d3ea.12
or dword [esi + 0xc], 2
lea edx, [edi + 8]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov ebx, dword [esp + 0xc]
mov dword [esi + 0x98], eax
mov dword [esi + 0x9c], ecx
jmp 0x1003d350
cmp bl, 0xba
jne case.0x1003d3ea.12
or dword [esi + 8], 0x800000
mov eax, dword [esi + 0x70]
test eax, eax
jne 0x1003d997
mov ecx, dword [esi + 4]
test cl, 3
jne 0x1003d97e
and ecx, 0xfffffffc
jmp 0x1003d98f
mov eax, ecx
shr eax, 1
test al, 1
je 0x1003d98a
xor ecx, ecx
jmp 0x1003d98f
and ecx, 0xfffffffc
mov ecx, dword [ecx]
call fcn.10039a10
mov dword [esi + 0x70], eax
mov ebx, dword [esp + 0xc]
mov ecx, ebx
push edi
push eax
call fcn.10028b00
jmp 0x1003d645
cmp bl, 0xf2
jne case.0x1003d3ea.12
or dword [esi + 8], 4
mov ecx, dword [esi + 4]
test cl, 3
jne 0x1003d9d3
and ecx, 0xfffffffc
mov byte [esp + 0x28], 0
push ecx
push dword [esp + 0x2c]
lea ecx, [esi + 0x1c]
jmp 0x1003d631
mov eax, ecx
shr eax, 1
test al, 1
je 0x1003d9ee
xor ecx, ecx
mov byte [esp + 0x28], cl
push ecx
push dword [esp + 0x2c]
lea ecx, [esi + 0x1c]
jmp 0x1003d631
and ecx, 0xfffffffc
mov byte [esp + 0x28], 0
mov ecx, dword [ecx]
push ecx
push dword [esp + 0x2c]
lea ecx, [esi + 0x1c]
jmp 0x1003d631
cmp bl, 0xf8
jne case.0x1003d3ea.12
or dword [esi + 0xc], 8
movzx ebx, byte [edi]
test bl, bl
js 0x1003da1e
lea edx, [edi + 1]
jmp 0x1003da55
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003da35
lea edx, [edi + 2]
jmp 0x1003da55
push ebx
lea eax, [esp + 0xd4]
push edi
push eax
call fcn.10082100
mov ebx, dword [esp + 0xe0]
add esp, 0xc
mov edx, dword [esp + 0xd0]
mov dword [esi + 0xa4], ebx
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
test bl, bl
jne case.0x1003d3ea.12
or dword [esi + 0xc], 0x10
movzx ebx, byte [edi]
test bl, bl
js 0x1003da84
lea edx, [edi + 1]
jmp 0x1003dabb
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003da9b
lea edx, [edi + 2]
jmp 0x1003dabb
push ebx
lea eax, [esp + 0xdc]
push edi
push eax
call fcn.10082100
mov ebx, dword [esp + 0xe8]
add esp, 0xc
mov edx, dword [esp + 0xd8]
mov dword [esi + 0xa8], ebx
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 8
jne case.0x1003d3ea.12
or dword [esi + 0xc], 0x20
movzx ebx, byte [edi]
test bl, bl
js 0x1003daeb
lea edx, [edi + 1]
jmp 0x1003db22
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003db02
lea edx, [edi + 2]
jmp 0x1003db22
push ebx
lea eax, [esp + 0xe4]
push edi
push eax
call fcn.10082100
mov ebx, dword [esp + 0xf0]
add esp, 0xc
mov edx, dword [esp + 0xe0]
mov dword [esi + 0xac], ebx
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 0x4a
jne case.0x1003d3ea.12
or dword [esi + 8], 8
mov ecx, dword [esi + 4]
test cl, 3
jne 0x1003db63
and ecx, 0xfffffffc
mov byte [esp + 0x2c], 0
push ecx
push dword [esp + 0x30]
lea ecx, [esi + 0x20]
jmp 0x1003d631
mov eax, ecx
shr eax, 1
test al, 1
je 0x1003db7e
xor ecx, ecx
mov byte [esp + 0x2c], cl
push ecx
push dword [esp + 0x30]
lea ecx, [esi + 0x20]
jmp 0x1003d631
and ecx, 0xfffffffc
mov byte [esp + 0x2c], 0
mov ecx, dword [ecx]
push ecx
push dword [esp + 0x30]
lea ecx, [esi + 0x20]
jmp 0x1003d631
cmp bl, 0x52
jne case.0x1003d3ea.12
or dword [esi + 8], 0x10
mov ecx, dword [esi + 4]
test cl, 3
jne 0x1003dbbf
and ecx, 0xfffffffc
mov byte [esp + 0x30], 0
push ecx
push dword [esp + 0x34]
lea ecx, [esi + 0x24]
jmp 0x1003d631
mov eax, ecx
shr eax, 1
test al, 1
je 0x1003dbda
xor ecx, ecx
mov byte [esp + 0x30], cl
push ecx
push dword [esp + 0x34]
lea ecx, [esi + 0x24]
jmp 0x1003d631
and ecx, 0xfffffffc
mov byte [esp + 0x30], 0
mov ecx, dword [ecx]
push ecx
push dword [esp + 0x34]
lea ecx, [esi + 0x24]
jmp 0x1003d631
cmp bl, 0x5d
jne case.0x1003d3ea.12
or dword [esi + 0xc], 0x200
lea edx, [edi + 4]
mov eax, dword [edi]
mov ebx, dword [esp + 0xc]
mov dword [esi + 0xb4], eax
jmp 0x1003d350
cmp bl, 0x92
jne case.0x1003d3ea.12
or dword [esi + 8], 0x20
mov ecx, dword [esi + 4]
test cl, 3
jne 0x1003dc3f
and ecx, 0xfffffffc
mov byte [esp + 0x34], 0
push ecx
push dword [esp + 0x38]
lea ecx, [esi + 0x28]
jmp 0x1003d631
mov eax, ecx
shr eax, 1
test al, 1
je 0x1003dc5a
xor ecx, ecx
mov byte [esp + 0x34], cl
push ecx
push dword [esp + 0x38]
lea ecx, [esi + 0x28]
jmp 0x1003d631
and ecx, 0xfffffffc
mov byte [esp + 0x34], 0
mov ecx, dword [ecx]
push ecx
push dword [esp + 0x38]
lea ecx, [esi + 0x28]
jmp 0x1003d631
cmp bl, 0x9a
jne case.0x1003d3ea.12
or dword [esi + 8], 0x40
mov ecx, dword [esi + 4]
test cl, 3
jne 0x1003dc9b
and ecx, 0xfffffffc
mov byte [esp + 0x38], 0
push ecx
push dword [esp + 0x3c]
lea ecx, [esi + 0x2c]
jmp 0x1003d631
mov eax, ecx
shr eax, 1
test al, 1
je 0x1003dcb6
xor ecx, ecx
mov byte [esp + 0x38], cl
push ecx
push dword [esp + 0x3c]
lea ecx, [esi + 0x2c]
jmp 0x1003d631
and ecx, 0xfffffffc
mov byte [esp + 0x38], 0
mov ecx, dword [ecx]
push ecx
push dword [esp + 0x3c]
lea ecx, [esi + 0x2c]
jmp 0x1003d631
cmp bl, 0xa2
jne case.0x1003d3ea.12
or dword [esi + 8], 0x80
mov ecx, dword [esi + 4]
test cl, 3
jne 0x1003dcfa
and ecx, 0xfffffffc
mov byte [esp + 0x3c], 0
push ecx
push dword [esp + 0x40]
lea ecx, [esi + 0x30]
jmp 0x1003d631
mov eax, ecx
shr eax, 1
test al, 1
je 0x1003dd15
xor ecx, ecx
mov byte [esp + 0x3c], cl
push ecx
push dword [esp + 0x40]
lea ecx, [esi + 0x30]
jmp 0x1003d631
and ecx, 0xfffffffc
mov byte [esp + 0x3c], 0
mov ecx, dword [ecx]
push ecx
push dword [esp + 0x40]
lea ecx, [esi + 0x30]
jmp 0x1003d631
cmp bl, 0xe2
jne case.0x1003d3ea.12
or dword [esi + 8], 0x100
mov ecx, dword [esi + 4]
test cl, 3
jne 0x1003dd59
and ecx, 0xfffffffc
mov byte [esp + 0x40], 0
push ecx
push dword [esp + 0x44]
lea ecx, [esi + 0x34]
jmp 0x1003d631
mov eax, ecx
shr eax, 1
test al, 1
je 0x1003dd74
xor ecx, ecx
mov byte [esp + 0x40], cl
push ecx
push dword [esp + 0x44]
lea ecx, [esi + 0x34]
jmp 0x1003d631
and ecx, 0xfffffffc
mov byte [esp + 0x40], 0
mov ecx, dword [ecx]
push ecx
push dword [esp + 0x44]
lea ecx, [esi + 0x34]
jmp 0x1003d631
cmp bl, 0x30
jne case.0x1003d3ea.12
or dword [esi + 0xc], 0x800
movzx ebx, byte [edi]
test bl, bl
js 0x1003dda9
xor eax, eax
lea edx, [edi + 1]
jmp 0x1003dde9
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003ddc2
xor eax, eax
lea edx, [edi + 2]
jmp 0x1003dde9
push ebx
lea eax, [esp + 0x10c]
push edi
push eax
call fcn.10082180
mov ebx, dword [esp + 0x11c]
add esp, 0xc
mov eax, dword [esp + 0x114]
mov edx, dword [esp + 0x108]
or ebx, eax
je 0x1003ddf1
mov al, 1
jmp 0x1003ddf3
xor al, al
mov byte [esi + 0xb9], al
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 0x82
jne case.0x1003d3ea.12
or dword [esi + 8], 0x200
mov ecx, dword [esi + 4]
test cl, 3
jne 0x1003de37
and ecx, 0xfffffffc
mov byte [esp + 0x44], 0
push ecx
push dword [esp + 0x48]
lea ecx, [esi + 0x38]
jmp 0x1003d631
mov eax, ecx
shr eax, 1
test al, 1
je 0x1003de52
xor ecx, ecx
mov byte [esp + 0x44], cl
push ecx
push dword [esp + 0x48]
lea ecx, [esi + 0x38]
jmp 0x1003d631
and ecx, 0xfffffffc
mov byte [esp + 0x44], 0
mov ecx, dword [ecx]
push ecx
push dword [esp + 0x48]
lea ecx, [esi + 0x38]
jmp 0x1003d631
cmp bl, 0x89
jne case.0x1003d3ea.12
or dword [esi + 0xc], 0x4000
lea edx, [edi + 8]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov ebx, dword [esp + 0xc]
mov dword [esi + 0xc0], eax
mov dword [esi + 0xc4], ecx
jmp 0x1003d350
cmp bl, 0x90
jne case.0x1003d3ea.12
or dword [esi + 0xc], 0x8000
movzx ebx, byte [edi]
test bl, bl
js 0x1003deba
mov dword [esp + 0x14], 0
lea edx, [edi + 1]
jmp 0x1003def9
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003ded9
mov dword [esp + 0x14], 0
lea edx, [edi + 2]
jmp 0x1003def9
push ebx
lea eax, [esp + 0x11c]
push edi
push eax
call fcn.10082180
mov ebx, dword [esp + 0x12c]
add esp, 0xc
mov edx, dword [esp + 0x118]
mov dword [esi + 0xc8], ebx
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 0x9a
jne case.0x1003d3ea.12
or dword [esi + 8], 0x400
mov ecx, dword [esi + 4]
test cl, 3
jne 0x1003df3d
and ecx, 0xfffffffc
mov byte [esp + 0x48], 0
push ecx
push dword [esp + 0x4c]
lea ecx, [esi + 0x3c]
jmp 0x1003d631
mov eax, ecx
shr eax, 1
test al, 1
je 0x1003df58
xor ecx, ecx
mov byte [esp + 0x48], cl
push ecx
push dword [esp + 0x4c]
lea ecx, [esi + 0x3c]
jmp 0x1003d631
and ecx, 0xfffffffc
mov byte [esp + 0x48], 0
mov ecx, dword [ecx]
push ecx
push dword [esp + 0x4c]
lea ecx, [esi + 0x3c]
jmp 0x1003d631
cmp bl, 0xa2
jne case.0x1003d3ea.12
or dword [esi + 8], 0x800
mov ecx, dword [esi + 4]
test cl, 3
jne 0x1003df9c
and ecx, 0xfffffffc
mov byte [esp + 0x4c], 0
push ecx
push dword [esp + 0x50]
lea ecx, [esi + 0x40]
jmp 0x1003d631
mov eax, ecx
shr eax, 1
test al, 1
je 0x1003dfb7
xor ecx, ecx
mov byte [esp + 0x4c], cl
push ecx
push dword [esp + 0x50]
lea ecx, [esi + 0x40]
jmp 0x1003d631
and ecx, 0xfffffffc
mov byte [esp + 0x4c], 0
mov ecx, dword [ecx]
push ecx
push dword [esp + 0x50]
lea ecx, [esi + 0x40]
jmp 0x1003d631
cmp bl, 0xa8
jne case.0x1003d3ea.12
or dword [esi + 0xc], 0x10000
movzx ebx, byte [edi]
test bl, bl
js 0x1003dff2
mov dword [esp + 0x14], 0
lea edx, [edi + 1]
jmp 0x1003e031
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003e011
mov dword [esp + 0x14], 0
lea edx, [edi + 2]
jmp 0x1003e031
push ebx
lea eax, [esp + 0x12c]
push edi
push eax
call fcn.10082180
mov ebx, dword [esp + 0x13c]
add esp, 0xc
mov edx, dword [esp + 0x128]
mov dword [esi + 0xcc], ebx
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 0xb0
jne case.0x1003d3ea.12
or dword [esi + 0xc], 0x20000
movzx ebx, byte [edi]
test bl, bl
js 0x1003e064
lea edx, [edi + 1]
jmp 0x1003e09b
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003e07b
lea edx, [edi + 2]
jmp 0x1003e09b
push ebx
lea eax, [esp + 0xec]
push edi
push eax
call fcn.10082100
mov ebx, dword [esp + 0xf8]
add esp, 0xc
mov edx, dword [esp + 0xe8]
mov dword [esi + 0xd0], ebx
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 0xba
jne case.0x1003d3ea.12
or dword [esi + 8], 0x1000
mov ecx, dword [esi + 4]
test cl, 3
jne 0x1003e0df
and ecx, 0xfffffffc
mov byte [esp + 0x50], 0
push ecx
push dword [esp + 0x54]
lea ecx, [esi + 0x44]
jmp 0x1003d631
mov eax, ecx
shr eax, 1
test al, 1
je 0x1003e0fa
xor ecx, ecx
mov byte [esp + 0x50], cl
push ecx
push dword [esp + 0x54]
lea ecx, [esi + 0x44]
jmp 0x1003d631
and ecx, 0xfffffffc
mov byte [esp + 0x50], 0
mov ecx, dword [ecx]
push ecx
push dword [esp + 0x54]
lea ecx, [esi + 0x44]
jmp 0x1003d631
cmp bl, 0xc0
jne case.0x1003d3ea.12
or dword [esi + 0xc], 0x1000
movzx ebx, byte [edi]
test bl, bl
js 0x1003e12f
xor eax, eax
lea edx, [edi + 1]
jmp 0x1003e16f
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003e148
xor eax, eax
lea edx, [edi + 2]
jmp 0x1003e16f
push ebx
lea eax, [esp + 0x13c]
push edi
push eax
call fcn.10082180
mov ebx, dword [esp + 0x14c]
add esp, 0xc
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x138]
or ebx, eax
je 0x1003e177
mov al, 1
jmp 0x1003e179
xor al, al
mov byte [esi + 0xba], al
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 0xd2
jne case.0x1003d3ea.12
or dword [esi + 8], 0x2000
mov ecx, dword [esi + 4]
test cl, 3
jne 0x1003e1bd
and ecx, 0xfffffffc
mov byte [esp + 0x54], 0
push ecx
push dword [esp + 0x58]
lea ecx, [esi + 0x48]
jmp 0x1003d631
mov eax, ecx
shr eax, 1
test al, 1
je 0x1003e1d8
xor ecx, ecx
mov byte [esp + 0x54], cl
push ecx
push dword [esp + 0x58]
lea ecx, [esi + 0x48]
jmp 0x1003d631
and ecx, 0xfffffffc
mov byte [esp + 0x54], 0
mov ecx, dword [ecx]
push ecx
push dword [esp + 0x58]
lea ecx, [esi + 0x48]
jmp 0x1003d631
cmp bl, 0xda
jne case.0x1003d3ea.12
or dword [esi + 8], 0x4000
mov ecx, dword [esi + 4]
test cl, 3
jne 0x1003e21c
and ecx, 0xfffffffc
mov byte [esp + 0x58], 0
push ecx
push dword [esp + 0x5c]
lea ecx, [esi + 0x4c]
jmp 0x1003d631
mov eax, ecx
shr eax, 1
test al, 1
je 0x1003e237
xor ecx, ecx
mov byte [esp + 0x58], cl
push ecx
push dword [esp + 0x5c]
lea ecx, [esi + 0x4c]
jmp 0x1003d631
and ecx, 0xfffffffc
mov byte [esp + 0x58], 0
mov ecx, dword [ecx]
push ecx
push dword [esp + 0x5c]
lea ecx, [esi + 0x4c]
jmp 0x1003d631
cmp bl, 0xe0
jne case.0x1003d3ea.12
or dword [esi + 0xc], 0x2000
movzx ebx, byte [edi]
test bl, bl
js 0x1003e26c
xor eax, eax
lea edx, [edi + 1]
jmp 0x1003e2ac
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003e285
xor eax, eax
lea edx, [edi + 2]
jmp 0x1003e2ac
push ebx
lea eax, [esp + 0x14c]
push edi
push eax
call fcn.10082180
mov ebx, dword [esp + 0x15c]
add esp, 0xc
mov eax, dword [esp + 0x154]
mov edx, dword [esp + 0x148]
or ebx, eax
je 0x1003e2b4
mov al, 1
jmp 0x1003e2b6
xor al, al
mov byte [esi + 0xbb], al
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 0xea
jne case.0x1003d3ea.12
or dword [esi + 8], 0x8000
mov ecx, dword [esi + 4]
test cl, 3
jne 0x1003e2fa
and ecx, 0xfffffffc
mov byte [esp + 0x5c], 0
push ecx
push dword [esp + 0x60]
lea ecx, [esi + 0x50]
jmp 0x1003d631
mov eax, ecx
shr eax, 1
test al, 1
je 0x1003e315
xor ecx, ecx
mov byte [esp + 0x5c], cl
push ecx
push dword [esp + 0x60]
lea ecx, [esi + 0x50]
jmp 0x1003d631
and ecx, 0xfffffffc
mov byte [esp + 0x5c], 0
mov ecx, dword [ecx]
push ecx
push dword [esp + 0x60]
lea ecx, [esi + 0x50]
jmp 0x1003d631
cmp bl, 0xf0
jne case.0x1003d3ea.12
or dword [esi + 0xc], 0x40000
movzx ebx, byte [edi]
test bl, bl
js 0x1003e350
mov dword [esp + 0x14], 0
lea edx, [edi + 1]
jmp 0x1003e38f
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003e36f
mov dword [esp + 0x14], 0
lea edx, [edi + 2]
jmp 0x1003e38f
push ebx
lea eax, [esp + 0x15c]
push edi
push eax
call fcn.10082180
mov ebx, dword [esp + 0x16c]
add esp, 0xc
mov edx, dword [esp + 0x158]
mov dword [esi + 0xd4], ebx
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 0xf8
jne case.0x1003d3ea.12
or dword [esi + 0xc], 0x100000
movzx ebx, byte [edi]
test bl, bl
js 0x1003e3c4
xor eax, eax
lea edx, [edi + 1]
jmp 0x1003e404
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003e3dd
xor eax, eax
lea edx, [edi + 2]
jmp 0x1003e404
push ebx
lea eax, [esp + 0x16c]
push edi
push eax
call fcn.10082180
mov ebx, dword [esp + 0x17c]
add esp, 0xc
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x168]
or ebx, eax
je 0x1003e40c
mov al, 1
jmp 0x1003e40e
xor al, al
mov byte [esi + 0xe0], al
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 2
jne case.0x1003d3ea.12
or dword [esi + 8], 0x10000
mov ecx, dword [esi + 4]
test cl, 3
jne 0x1003e452
and ecx, 0xfffffffc
mov byte [esp + 0x60], 0
push ecx
push dword [esp + 0x64]
lea ecx, [esi + 0x54]
jmp 0x1003d631
mov eax, ecx
shr eax, 1
test al, 1
je 0x1003e46d
xor ecx, ecx
mov byte [esp + 0x60], cl
push ecx
push dword [esp + 0x64]
lea ecx, [esi + 0x54]
jmp 0x1003d631
and ecx, 0xfffffffc
mov byte [esp + 0x60], 0
mov ecx, dword [ecx]
push ecx
push dword [esp + 0x64]
lea ecx, [esi + 0x54]
jmp 0x1003d631
cmp bl, 0xa
jne case.0x1003d3ea.12
or dword [esi + 8], 0x20000
mov ecx, dword [esi + 4]
test cl, 3
jne 0x1003e4b1
and ecx, 0xfffffffc
mov byte [esp + 0x64], 0
push ecx
push dword [esp + 0x68]
lea ecx, [esi + 0x58]
jmp 0x1003d631
mov eax, ecx
shr eax, 1
test al, 1
je 0x1003e4cc
xor ecx, ecx
mov byte [esp + 0x64], cl
push ecx
push dword [esp + 0x68]
lea ecx, [esi + 0x58]
jmp 0x1003d631
and ecx, 0xfffffffc
mov byte [esp + 0x64], 0
mov ecx, dword [ecx]
push ecx
push dword [esp + 0x68]
lea ecx, [esi + 0x58]
jmp 0x1003d631
cmp bl, 0x12
jne case.0x1003d3ea.12
or dword [esi + 8], 0x40000
mov ecx, dword [esi + 4]
test cl, 3
jne 0x1003e510
and ecx, 0xfffffffc
mov byte [esp + 0x68], 0
push ecx
push dword [esp + 0x6c]
lea ecx, [esi + 0x5c]
jmp 0x1003d631
mov eax, ecx
shr eax, 1
test al, 1
je 0x1003e52b
xor ecx, ecx
mov byte [esp + 0x68], cl
push ecx
push dword [esp + 0x6c]
lea ecx, [esi + 0x5c]
jmp 0x1003d631
and ecx, 0xfffffffc
mov byte [esp + 0x68], 0
mov ecx, dword [ecx]
push ecx
push dword [esp + 0x6c]
lea ecx, [esi + 0x5c]
jmp 0x1003d631
cmp bl, 0x18
jne case.0x1003d3ea.12
or dword [esi + 0xc], 0x200000
movzx ebx, byte [edi]
test bl, bl
js 0x1003e560
xor eax, eax
lea edx, [edi + 1]
jmp 0x1003e5a0
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003e579
xor eax, eax
lea edx, [edi + 2]
jmp 0x1003e5a0
push ebx
lea eax, [esp + 0x17c]
push edi
push eax
call fcn.10082180
mov ebx, dword [esp + 0x18c]
add esp, 0xc
mov eax, dword [esp + 0x184]
mov edx, dword [esp + 0x178]
or ebx, eax
je 0x1003e5a8
mov al, 1
jmp 0x1003e5aa
xor al, al
mov byte [esi + 0xe1], al
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 0x20
jne case.0x1003d3ea.12
or dword [esi + 0xc], 0x80000
movzx ebx, byte [edi]
test bl, bl
js 0x1003e5df
xor eax, eax
lea edx, [edi + 1]
jmp 0x1003e61f
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003e5f8
xor eax, eax
lea edx, [edi + 2]
jmp 0x1003e61f
push ebx
lea eax, [esp + 0x18c]
push edi
push eax
call fcn.10082180
mov ebx, dword [esp + 0x19c]
add esp, 0xc
mov eax, dword [esp + 0x194]
mov edx, dword [esp + 0x188]
mov dword [esi + 0xd8], ebx
mov dword [esi + 0xdc], eax
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 0x2a
jne case.0x1003d3ea.12
or dword [esi + 8], 0x80000
mov ecx, dword [esi + 4]
test cl, 3
jne 0x1003e669
and ecx, 0xfffffffc
mov byte [esp + 0x6c], 0
push ecx
push dword [esp + 0x70]
lea ecx, [esi + 0x60]
jmp 0x1003d631
mov eax, ecx
shr eax, 1
test al, 1
je 0x1003e684
xor ecx, ecx
mov byte [esp + 0x6c], cl
push ecx
push dword [esp + 0x70]
lea ecx, [esi + 0x60]
jmp 0x1003d631
and ecx, 0xfffffffc
mov byte [esp + 0x6c], 0
mov ecx, dword [ecx]
push ecx
push dword [esp + 0x70]
lea ecx, [esi + 0x60]
jmp 0x1003d631
cmp bl, 0x30
jne case.0x1003d3ea.12
or dword [esi + 0xc], 0x400000
movzx ebx, byte [edi]
test bl, bl
js 0x1003e6b9
xor eax, eax
lea edx, [edi + 1]
jmp 0x1003e6f9
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003e6d2
xor eax, eax
lea edx, [edi + 2]
jmp 0x1003e6f9
push ebx
lea eax, [esp + 0x19c]
push edi
push eax
call fcn.10082180
mov ebx, dword [esp + 0x1ac]
add esp, 0xc
mov eax, dword [esp + 0x1a4]
mov edx, dword [esp + 0x198]
or ebx, eax
je 0x1003e701
mov al, 1
jmp 0x1003e703
xor al, al
mov byte [esi + 0xe2], al
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 0x3a
jne case.0x1003d3ea.12
or dword [esi + 8], 0x100000
mov ecx, dword [esi + 4]
test cl, 3
jne 0x1003e747
and ecx, 0xfffffffc
mov byte [esp + 0x70], 0
push ecx
push dword [esp + 0x74]
lea ecx, [esi + 0x64]
jmp 0x1003d631
mov eax, ecx
shr eax, 1
test al, 1
je 0x1003e762
xor ecx, ecx
mov byte [esp + 0x70], cl
push ecx
push dword [esp + 0x74]
lea ecx, [esi + 0x64]
jmp 0x1003d631
and ecx, 0xfffffffc
mov byte [esp + 0x70], 0
mov ecx, dword [ecx]
push ecx
push dword [esp + 0x74]
lea ecx, [esi + 0x64]
jmp 0x1003d631
cmp bl, 0x40
jne case.0x1003d3ea.12
or dword [esi + 0xc], 0x1000000
movzx ebx, byte [edi]
test bl, bl
js 0x1003e79d
mov dword [esp + 0x14], 0
lea edx, [edi + 1]
jmp 0x1003e7dc
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003e7bc
mov dword [esp + 0x14], 0
lea edx, [edi + 2]
jmp 0x1003e7dc
push ebx
lea eax, [esp + 0x1ac]
push edi
push eax
call fcn.10082180
mov ebx, dword [esp + 0x1bc]
add esp, 0xc
mov edx, dword [esp + 0x1a8]
mov dword [esi + 0xe4], ebx
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 0x4a
jne case.0x1003d3ea.12
or dword [esi + 8], 0x1000000
mov ecx, dword [esi + 0x74]
mov dword [esp + 0x18], ecx
test ecx, ecx
jne 0x1003e838
mov ecx, dword [esi + 4]
test cl, 3
jne 0x1003e81b
and ecx, 0xfffffffc
jmp 0x1003e82c
mov eax, ecx
shr eax, 1
test al, 1
je 0x1003e827
xor ecx, ecx
jmp 0x1003e82c
and ecx, 0xfffffffc
mov ecx, dword [ecx]
call fcn.10045040
mov dword [esp + 0x18], eax
mov dword [esi + 0x74], eax
movzx eax, byte [edi]
cmp eax, 0x80
jae 0x1003e845
inc edi
jmp 0x1003e865
push eax
lea eax, [esp + 0xf4]
push edi
push eax
call fcn.10081f10
mov edi, dword [esp + 0xfc]
add esp, 0xc
mov eax, dword [esp + 0xf4]
test edi, edi
je 0x1003d64f
mov ebx, dword [esp + 0xc]
sub eax, dword [ebx + 4]
lea edx, [eax + edi]
xor eax, eax
test edx, edx
mov dword [esp + 0x10], edx
cmovs eax, edx
add eax, dword [ebx + 4]
add dword [ebx + 0x44], 0xffffffff
mov dword [ebx], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x74], eax
mov dword [ebx + 0x10], edx
js 0x1003d64f
mov ecx, dword [esp + 0x18]
push ebx
push edi
call fcn.1003c0b0
mov edx, eax
test edx, edx
je 0x1003d64f
inc dword [ebx + 0x44]
cmp dword [ebx + 0x3c], 0
jne 0x1003d64f
mov ecx, dword [esp + 0x74]
sub ecx, dword [esp + 0x10]
mov eax, dword [ebx + 0x10]
add eax, ecx
xor ecx, ecx
test eax, eax
mov dword [ebx + 0x10], eax
cmovs ecx, eax
add ecx, dword [ebx + 4]
mov dword [ebx], ecx
jmp 0x1003d350
cmp bl, 0x50
jne case.0x1003d3ea.12
or dword [esi + 0xc], 0x800000
movzx ebx, byte [edi]
test bl, bl
js 0x1003e8fc
xor eax, eax
lea edx, [edi + 1]
jmp 0x1003e93c
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003e915
xor eax, eax
lea edx, [edi + 2]
jmp 0x1003e93c
push ebx
lea eax, [esp + 0x1bc]
push edi
push eax
call fcn.10082180
mov ebx, dword [esp + 0x1cc]
add esp, 0xc
mov eax, dword [esp + 0x1c4]
mov edx, dword [esp + 0x1b8]
or ebx, eax
je 0x1003e944
mov al, 1
jmp 0x1003e946
xor al, al
mov byte [esi + 0xe3], al
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 0x58
jne case.0x1003d3ea.12
or dword [esi + 0xc], 0x40
movzx ebx, byte [edi]
test bl, bl
js 0x1003e978
xor eax, eax
lea edx, [edi + 1]
jmp 0x1003e9b8
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003e991
xor eax, eax
lea edx, [edi + 2]
jmp 0x1003e9b8
push ebx
lea eax, [esp + 0x1cc]
push edi
push eax
call fcn.10082180
mov ebx, dword [esp + 0x1dc]
add esp, 0xc
mov eax, dword [esp + 0x1d4]
mov edx, dword [esp + 0x1c8]
or ebx, eax
je 0x1003e9c0
mov al, 1
jmp 0x1003e9c2
xor al, al
mov byte [esi + 0xb0], al
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 0x62
jne case.0x1003d3ea.12
or dword [esi + 8], 0x200000
mov ecx, dword [esi + 4]
test cl, 3
jne 0x1003ea06
and ecx, 0xfffffffc
mov byte [esp + 0x1c], 0
push ecx
push dword [esp + 0x20]
lea ecx, [esi + 0x68]
jmp 0x1003d631
mov eax, ecx
shr eax, 1
test al, 1
je 0x1003ea21
xor ecx, ecx
mov byte [esp + 0x1c], cl
push ecx
push dword [esp + 0x20]
lea ecx, [esi + 0x68]
jmp 0x1003d631
and ecx, 0xfffffffc
mov byte [esp + 0x1c], 0
mov ecx, dword [ecx]
push ecx
push dword [esp + 0x20]
lea ecx, [esi + 0x68]
jmp 0x1003d631
cmp bl, 0x68
jne case.0x1003d3ea.12
or dword [esi + 0xc], 0x80
movzx ebx, byte [edi]
test bl, bl
js 0x1003ea56
xor eax, eax
lea edx, [edi + 1]
jmp 0x1003ea96
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003ea6f
xor eax, eax
lea edx, [edi + 2]
jmp 0x1003ea96
push ebx
lea eax, [esp + 0x1dc]
push edi
push eax
call fcn.10082180
mov ebx, dword [esp + 0x1ec]
add esp, 0xc
mov eax, dword [esp + 0x1e4]
mov edx, dword [esp + 0x1d8]
or ebx, eax
je 0x1003ea9e
mov al, 1
jmp 0x1003eaa0
xor al, al
mov byte [esi + 0xb1], al
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
cmp bl, 0x70
jne case.0x1003d3ea.12
or dword [esi + 0xc], 0x100
movzx ebx, byte [edi]
test bl, bl
js 0x1003ead1
xor eax, eax
lea edx, [edi + 1]
jmp 0x1003eb11
movzx ecx, byte [edi + 1]
add ebx, 0xffffff80
mov eax, ecx
shl eax, 7
add ebx, eax
test cl, cl
js 0x1003eaea
xor eax, eax
lea edx, [edi + 2]
jmp 0x1003eb11
push ebx
lea eax, [esp + 0x1ec]
push edi
push eax
call fcn.10082180
mov ebx, dword [esp + 0x1fc]
add esp, 0xc
mov eax, dword [esp + 0x1f4]
mov edx, dword [esp + 0x1e8]
or ebx, eax
je 0x1003eb19
mov al, 1
jmp 0x1003eb1b
xor al, al
mov byte [esi + 0xb2], al
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
mov eax, ebx
and al, 7
cmp al, 4
je 0x1003eba0
test ebx, ebx
je 0x1003eba0
test byte [esi + 4], 1
lea ecx, [esi + 4]
je 0x1003eb51
mov eax, dword [ecx]
and eax, 0xfffffffc
add eax, 4
jmp 0x1003eb56
call fcn.100290c0
mov edx, dword [esp + 0xc]
push edx
push edi
push eax
push 0
push ebx
call fcn.10080550
mov edx, eax
add esp, 0x14
test edx, edx
je 0x1003d64f
mov ebx, dword [esp + 0xc]
jmp 0x1003d350
test eax, eax
jle 0x1003eb87
xor eax, eax
cmp dword [ebx + 8], eax
cmove edx, eax
mov eax, edx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1f0]
xor ecx, esp
call fcn.10122cc7
mov esp, ebp
pop ebp
ret 8
mov edx, dword [esp + 0xc]
lea ecx, [ebx - 1]
mov eax, edi
pop edi
pop esi
mov dword [edx + 0x3c], ecx
mov ecx, dword [esp + 0x1f4]
pop ebx
xor ecx, esp
call fcn.10122cc7
mov esp, ebp
pop ebp
ret 8