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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
push ebx
push esi
mov esi, dword [ebp + 8]
xorps xmm0, xmm0
push edi
mov edi, ecx
movsd qword [esp + 0x78], xmm0
nop word [eax + eax]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
cmp ecx, edx
jae 0x10228368
mov bl, byte [ecx]
lea eax, [ecx + 1]
test bl, bl
jle 0x1022833e
movzx edx, bl
mov dword [esi + 0x14], edx
mov dword [esi + 4], eax
jmp 0x10228380
cmp eax, edx
jae 0x10228368
movzx edx, byte [eax]
mov eax, edx
movzx ebx, bl
not eax
and eax, ebx
cmp eax, 0x80
jb 0x10228368
shl edx, 7
lea eax, [ecx + 2]
add edx, 0xffffff80
mov dword [esi + 4], eax
add edx, ebx
mov dword [esi + 0x14], edx
jmp 0x10228380
mov ecx, esi
call fcn.10281760
mov dword [esi + 0x14], eax
mov edx, eax
dec eax
cmp eax, 0x3fff
jae case.default.0x1022838f
mov eax, edx
shr eax, 3
dec eax
cmp eax, 0x19
ja case.default.0x1022838f
jmp dword [eax*4 + 0x10229074]
cmp edx, 0xa
jne case.default.0x1022838f
or dword [edi + 8], 1
mov ebx, dword [edi + 0x10]
cmp ebx, dword [0x103be3c0]
jne 0x102283d4
push 0x18
call fcn.102d8574
mov ebx, eax
xorps xmm0, xmm0
add esp, 4
movups xmmword [ebx], xmm0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0xf
mov byte [ebx], 0
mov dword [edi + 0x10], ebx
lea eax, [esp + 0xc]
mov ecx, esi
push eax
call fcn.100653a0
test al, al
je 0x10229068
push dword [esp + 0xc]
mov ecx, esi
push ebx
call fcn.102812e0
test al, al
je 0x10229068
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jae 0x10228320
cmp byte [eax], 0x10
jne 0x10228320
inc eax
mov dword [esi + 4], eax
jmp 0x10228420
cmp edx, 0x10
jne case.default.0x1022838f
mov eax, dword [esi + 4]
lea ecx, [edi + 0x18]
cmp eax, dword [esi + 8]
jae 0x1022843f
mov al, byte [eax]
cmp al, 0x80
jae 0x1022843f
movzx eax, al
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
inc dword [esi + 4]
jmp 0x1022844f
push ecx
mov ecx, esi
call fcn.10281860
test al, al
je 0x10229068
or dword [edi + 8], 2
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jae 0x10228320
cmp byte [eax], 0x18
jne 0x10228320
inc eax
mov dword [esi + 4], eax
jmp 0x10228477
cmp edx, 0x18
jne case.default.0x1022838f
mov eax, dword [esi + 4]
lea ecx, [edi + 0x20]
cmp eax, dword [esi + 8]
jae 0x10228496
mov al, byte [eax]
cmp al, 0x80
jae 0x10228496
movzx eax, al
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
inc dword [esi + 4]
jmp 0x102284a6
push ecx
mov ecx, esi
call fcn.10281860
test al, al
je 0x10229068
or dword [edi + 8], 4
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jae 0x10228320
cmp byte [eax], 0x22
jne 0x10228320
inc eax
mov dword [esi + 4], eax
jmp 0x102284ce
cmp edx, 0x22
jne case.default.0x1022838f
or dword [edi + 8], 8
mov ebx, dword [edi + 0x28]
test ebx, ebx
jne 0x1022852c
push 0x38
call fcn.102d8574
movsd xmm0, qword [esp + 0x7c]
mov ebx, eax
unpcklpd xmm0, xmm0
add esp, 4
mov dword [esp + 0x14], ebx
mov dword [ebx], vtable.bna::rpc::InstallInfo_Progress.0
mov dword [ebx + 4], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x20], 0
movups xmmword [ebx + 0x10], xmm0
mov dword [ebx + 0x24], 0
movsd qword [ebx + 0x28], xmm0
mov byte [ebx + 0x30], 0
mov dword [ebx + 8], 0
mov dword [edi + 0x28], ebx
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.100653a0
test al, al
je 0x10229068
mov eax, dword [esi + 0x2c]
inc eax
mov dword [esi + 0x2c], eax
cmp eax, dword [esi + 0x30]
jg 0x10229068
push dword [esp + 0x10]
mov ecx, esi
call fcn.10281530
push esi
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.10226cd0
test al, al
je 0x10229068
cmp byte [esi + 0x18], 0
je 0x10229068
mov ecx, dword [esi + 0x20]
xor eax, eax
add ecx, dword [esi + 8]
mov edx, dword [esp + 0x14]
mov dword [esi + 0x1c], edx
mov dword [esi + 8], ecx
cmp dword [esi + 0x24], edx
setl al
lea eax, [eax*8 + 0x1c]
mov edx, dword [eax + esi]
mov eax, dword [esi + 0xc]
cmp edx, eax
jge 0x102285ab
sub eax, edx
sub ecx, eax
mov dword [esi + 8], ecx
jmp 0x102285ad
xor eax, eax
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x2c]
mov byte [esi + 0x18], 0
test eax, eax
jle 0x102285bf
dec eax
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 4]
cmp eax, ecx
jae 0x10228320
cmp byte [eax], 0x28
jne 0x10228320
inc eax
mov dword [esi + 4], eax
jmp 0x102285e2
cmp edx, 0x28
jne case.default.0x1022838f
lea eax, [esp + 0x18]
mov ecx, esi
push eax
call fcn.100653a0
test al, al
je 0x10229068
mov edx, dword [esp + 0x18]
cmp edx, 0xe
ja case.0x10228606.3
movzx eax, byte [edx + 0x102290e4]
jmp dword [eax*4 + 0x102290dc]
or dword [edi + 8], 0x10
mov dword [edi + 0x2c], edx
jmp 0x10228625
mov eax, edx
lea ecx, [edi + 4]
cdq
push edx
push eax
push 5
call fcn.10280de0
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jae 0x10228320
cmp byte [eax], 0x30
jne 0x10228320
inc eax
mov dword [esi + 4], eax
jmp 0x10228649
cmp edx, 0x30
jne case.default.0x1022838f
lea eax, [esp + 0x1c]
mov ecx, esi
push eax
call fcn.100653a0
test al, al
je 0x10229068
mov edx, dword [esp + 0x1c]
cmp edx, 8
ja case.default.0x1022866d
movzx eax, byte [edx + 0x102290f8]
jmp dword [eax*4 + 0x102290f4]
or dword [edi + 8], 0x20
mov dword [edi + 0x30], edx
jmp 0x1022868c
mov eax, edx
lea ecx, [edi + 4]
cdq
push edx
push eax
push 6
call fcn.10280de0
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jae 0x10228320
cmp byte [eax], 0x38
jne 0x10228320
inc eax
mov dword [esi + 4], eax
jmp 0x102286b0
cmp edx, 0x38
jne case.default.0x1022838f
lea eax, [esp + 0x20]
mov ecx, esi
push eax
call fcn.100653a0
test al, al
je 0x10229068
mov eax, dword [esp + 0x20]
cmp eax, 3
ja case.default.0x102286cd
jmp dword [eax*4 + 0x10229104]
or dword [edi + 8], 0x40
mov dword [edi + 0x34], eax
jmp 0x102286ea
cdq
lea ecx, [edi + 4]
push edx
push eax
push 7
call fcn.10280de0
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jae 0x10228320
cmp byte [eax], 0x40
jne 0x10228320
inc eax
mov dword [esi + 4], eax
jmp 0x1022870e
cmp edx, 0x40
jne case.default.0x1022838f
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
jae 0x1022872e
mov al, byte [ecx]
cmp al, 0x80
jae 0x1022872e
movzx eax, al
inc ecx
cdq
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov dword [esi + 4], ecx
jmp 0x1022874a
lea eax, [esp + 0x30]
mov ecx, esi
push eax
call fcn.10281860
test al, al
je 0x10229068
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
or eax, edx
je 0x10228752
mov al, 1
jmp 0x10228754
xor al, al
or dword [edi + 8], 0x80
mov byte [edi + 0x38], al
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jae 0x10228320
cmp byte [eax], 0x48
jne 0x10228320
inc eax
mov dword [esi + 4], eax
jmp 0x10228782
cmp edx, 0x48
jne case.default.0x1022838f
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
jae 0x102287a2
mov al, byte [ecx]
cmp al, 0x80
jae 0x102287a2
movzx eax, al
inc ecx
cdq
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov dword [esi + 4], ecx
jmp 0x102287be
lea eax, [esp + 0x38]
mov ecx, esi
push eax
call fcn.10281860
test al, al
je 0x10229068
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
or eax, edx
je 0x102287c6
mov al, 1
jmp 0x102287c8
xor al, al
or dword [edi + 8], 0x100
mov byte [edi + 0x39], al
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jae 0x10228320
cmp byte [eax], 0x50
jne 0x10228320
inc eax
mov dword [esi + 4], eax
jmp 0x102287f6
cmp edx, 0x50
jne case.default.0x1022838f
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
jae 0x10228816
mov al, byte [ecx]
cmp al, 0x80
jae 0x10228816
movzx eax, al
inc ecx
cdq
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
mov dword [esi + 4], ecx
jmp 0x10228832
lea eax, [esp + 0x40]
mov ecx, esi
push eax
call fcn.10281860
test al, al
je 0x10229068
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
or eax, edx
je 0x1022883a
mov al, 1
jmp 0x1022883c
xor al, al
or dword [edi + 8], 0x200
mov byte [edi + 0x3a], al
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jae 0x10228320
cmp byte [eax], 0x58
jne 0x10228320
inc eax
mov dword [esi + 4], eax
jmp 0x1022886a
cmp edx, 0x58
jne case.default.0x1022838f
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
jae 0x1022888a
mov al, byte [ecx]
cmp al, 0x80
jae 0x1022888a
movzx eax, al
inc ecx
cdq
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
mov dword [esi + 4], ecx
jmp 0x102288a6
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call fcn.10281860
test al, al
je 0x10229068
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
or eax, edx
je 0x102288ae
mov al, 1
jmp 0x102288b0
xor al, al
or dword [edi + 8], 0x400
mov byte [edi + 0x3b], al
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jae 0x10228320
cmp byte [eax], 0x62
jne 0x10228320
inc eax
mov dword [esi + 4], eax
jmp 0x102288de
cmp edx, 0x62
jne case.default.0x1022838f
or dword [edi + 8], 0x800
mov ebx, dword [edi + 0x3c]
cmp ebx, dword [0x103be3c0]
jne 0x10228916
push 0x18
call fcn.102d8574
mov ebx, eax
xorps xmm0, xmm0
add esp, 4
movups xmmword [ebx], xmm0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0xf
mov byte [ebx], 0
mov dword [edi + 0x3c], ebx
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.100653a0
test al, al
je 0x10229068
push dword [esp + 0x24]
mov ecx, esi
push ebx
call fcn.102812e0
test al, al
je 0x10229068
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jae 0x10228320
cmp byte [eax], 0x6a
jne 0x10228320
inc eax
mov dword [esi + 4], eax
jmp 0x10228962
cmp edx, 0x6a
jne case.default.0x1022838f
mov ecx, edi
call fcn.1020b5e0
mov ebx, eax
mov ecx, esi
lea eax, [esp + 0x28]
push eax
call fcn.100653a0
test al, al
je 0x10229068
mov eax, dword [esi + 0x2c]
inc eax
mov dword [esi + 0x2c], eax
cmp eax, dword [esi + 0x30]
jg 0x10229068
push dword [esp + 0x28]
mov ecx, esi
call fcn.10281530
push esi
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.102276e0
test al, al
je 0x10229068
cmp byte [esi + 0x18], 0
je 0x10229068
mov ecx, dword [esi + 0x20]
xor eax, eax
add ecx, dword [esi + 8]
mov edx, dword [esp + 0x14]
mov dword [esi + 0x1c], edx
mov dword [esi + 8], ecx
cmp dword [esi + 0x24], edx
setl al
lea eax, [eax*8 + 0x1c]
mov edx, dword [eax + esi]
mov eax, dword [esi + 0xc]
cmp edx, eax
jge 0x102289ea
sub eax, edx
sub ecx, eax
mov dword [esi + 8], ecx
jmp 0x102289ec
xor eax, eax
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x2c]
mov byte [esi + 0x18], 0
test eax, eax
jle 0x102289fe
dec eax
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 4]
cmp eax, ecx
jae 0x10228320
cmp byte [eax], 0x72
jne 0x10228320
inc eax
mov dword [esi + 4], eax
jmp 0x10228a21
cmp edx, 0x72
jne case.default.0x1022838f
or dword [edi + 8], 0x2000
mov ebx, dword [edi + 0x44]
cmp ebx, dword [0x103be3c0]
jne 0x10228a59
push 0x18
call fcn.102d8574
mov ebx, eax
xorps xmm0, xmm0
add esp, 4
movups xmmword [ebx], xmm0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0xf
mov byte [ebx], 0
mov dword [edi + 0x44], ebx
lea eax, [esp + 0x2c]
mov ecx, esi
push eax
call fcn.100653a0
test al, al
je 0x10229068
push dword [esp + 0x2c]
mov ecx, esi
push ebx
call fcn.102812e0
test al, al
je 0x10229068
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jae 0x10228320
cmp byte [eax], 0x78
jne 0x10228320
inc eax
mov dword [esi + 4], eax
jmp 0x10228aa5
cmp edx, 0x78
jne case.default.0x1022838f
mov eax, dword [esi + 4]
lea ecx, [edi + 0x48]
cmp eax, dword [esi + 8]
jae 0x10228ac4
mov al, byte [eax]
cmp al, 0x80
jae 0x10228ac4
movzx eax, al
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
inc dword [esi + 4]
jmp 0x10228ad4
push ecx
mov ecx, esi
call fcn.10281860
test al, al
je 0x10229068
or dword [edi + 8], 0x4000
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
sub eax, ecx
cmp eax, 2
jl 0x10228320
cmp byte [ecx], 0x80
jne 0x10228320
cmp byte [ecx + 1], 1
jne 0x10228320
lea eax, [ecx + 2]
mov dword [esi + 4], eax
jmp 0x10228b13
cmp edx, 0x80
jne case.default.0x1022838f
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
jae 0x10228b33
mov al, byte [ecx]
cmp al, 0x80
jae 0x10228b33
movzx eax, al
inc ecx
cdq
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
mov dword [esi + 4], ecx
jmp 0x10228b4f
lea eax, [esp + 0x50]
mov ecx, esi
push eax
call fcn.10281860
test al, al
je 0x10229068
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
or eax, edx
je 0x10228b57
mov al, 1
jmp 0x10228b59
xor al, al
or dword [edi + 8], 0x8000
mov byte [edi + 0x50], al
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
sub eax, ecx
cmp eax, 2
jl 0x10228320
cmp byte [ecx], 0x88
jne 0x10228320
cmp byte [ecx + 1], 1
jne 0x10228320
lea eax, [ecx + 2]
mov dword [esi + 4], eax
jmp 0x10228b9b
cmp edx, 0x88
jne case.default.0x1022838f
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
jae 0x10228bbb
mov al, byte [ecx]
cmp al, 0x80
jae 0x10228bbb
movzx eax, al
inc ecx
cdq
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
mov dword [esi + 4], ecx
jmp 0x10228bd7
lea eax, [esp + 0x58]
mov ecx, esi
push eax
call fcn.10281860
test al, al
je 0x10229068
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
or eax, edx
je 0x10228bdf
mov al, 1
jmp 0x10228be1
xor al, al
or dword [edi + 8], 0x10000
mov byte [edi + 0x51], al
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
sub eax, ecx
cmp eax, 2
jl 0x10228320
cmp byte [ecx], 0x90
jne 0x10228320
cmp byte [ecx + 1], 1
jne 0x10228320
lea eax, [ecx + 2]
mov dword [esi + 4], eax
jmp 0x10228c23
cmp edx, 0x90
jne case.default.0x1022838f
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
jae 0x10228c43
mov al, byte [ecx]
cmp al, 0x80
jae 0x10228c43
movzx eax, al
inc ecx
cdq
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
mov dword [esi + 4], ecx
jmp 0x10228c5f
lea eax, [esp + 0x60]
mov ecx, esi
push eax
call fcn.10281860
test al, al
je 0x10229068
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
or eax, edx
je 0x10228c67
mov al, 1
jmp 0x10228c69
xor al, al
or dword [edi + 8], 0x20000
mov byte [edi + 0x52], al
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
sub eax, ecx
cmp eax, 2
jl 0x10228320
cmp byte [ecx], 0x98
jne 0x10228320
cmp byte [ecx + 1], 1
jne 0x10228320
lea eax, [ecx + 2]
mov dword [esi + 4], eax
jmp 0x10228cab
cmp edx, 0x98
jne case.default.0x1022838f
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
jae 0x10228ccb
mov al, byte [ecx]
cmp al, 0x80
jae 0x10228ccb
movzx eax, al
inc ecx
cdq
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
mov dword [esi + 4], ecx
jmp 0x10228ce7
lea eax, [esp + 0x68]
mov ecx, esi
push eax
call fcn.10281860
test al, al
je 0x10229068
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
or eax, edx
je 0x10228cef
mov al, 1
jmp 0x10228cf1
xor al, al
or dword [edi + 8], 0x40000
mov byte [edi + 0x53], al
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
sub eax, ecx
cmp eax, 2
jl 0x10228320
cmp byte [ecx], 0xa0
jne 0x10228320
cmp byte [ecx + 1], 1
jne 0x10228320
lea eax, [ecx + 2]
mov dword [esi + 4], eax
jmp 0x10228d33
cmp edx, 0xa0
jne case.default.0x1022838f
mov eax, dword [esi + 4]
lea ecx, [edi + 0x58]
cmp eax, dword [esi + 8]
jae 0x10228d52
mov al, byte [eax]
cmp al, 0x80
jae 0x10228d52
movzx eax, al
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
inc dword [esi + 4]
jmp 0x10228d62
push ecx
mov ecx, esi
call fcn.10281860
test al, al
je 0x10229068
or dword [edi + 8], 0x80000
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
sub eax, ecx
cmp eax, 2
jl 0x10228320
cmp edx, 0xa8
jne case.default.0x1022838f
mov eax, dword [esi + 4]
lea ecx, [edi + 0x60]
cmp eax, dword [esi + 8]
jae 0x10228dc0
mov al, byte [eax]
cmp al, 0x80
jae 0x10228dc0
movzx eax, al
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
inc dword [esi + 4]
jmp 0x10228dd0
push ecx
mov ecx, esi
call fcn.10281860
test al, al
je 0x10229068
or dword [edi + 8], 0x100000
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
sub eax, ecx
cmp eax, 2
jl 0x10228320
cmp byte [ecx], 0xb0
jne 0x10228320
cmp byte [ecx + 1], 1
jne 0x10228320
lea eax, [ecx + 2]
mov dword [esi + 4], eax
jmp 0x10228e0f
cmp edx, 0xb0
jne case.default.0x1022838f
mov ecx, dword [esi + 4]
cmp ecx, dword [esi + 8]
jae 0x10228e2f
mov al, byte [ecx]
cmp al, 0x80
jae 0x10228e2f
movzx eax, al
inc ecx
cdq
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
mov dword [esi + 4], ecx
jmp 0x10228e4b
lea eax, [esp + 0x70]
mov ecx, esi
push eax
call fcn.10281860
test al, al
je 0x10229068
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
or eax, edx
je 0x10228e53
mov al, 1
jmp 0x10228e55
xor al, al
or dword [edi + 8], 0x200000
mov byte [edi + 0x54], al
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
sub eax, ecx
cmp eax, 2
jl 0x10228320
cmp byte [ecx], 0xb8
jne 0x10228320
cmp byte [ecx + 1], 1
jne 0x10228320
lea eax, [ecx + 2]
mov dword [esi + 4], eax
jmp 0x10228e97
cmp edx, 0xb8
jne case.default.0x1022838f
mov eax, dword [esi + 4]
lea ecx, [edi + 0x68]
cmp eax, dword [esi + 8]
jae 0x10228eb6
mov al, byte [eax]
cmp al, 0x80
jae 0x10228eb6
movzx eax, al
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
inc dword [esi + 4]
jmp 0x10228ec6
push ecx
mov ecx, esi
call fcn.10281860
test al, al
je 0x10229068
or dword [edi + 8], 0x400000
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
sub eax, ecx
cmp eax, 2
jl 0x10228320
cmp byte [ecx], 0xc0
jne 0x10228320
cmp byte [ecx + 1], 1
jne 0x10228320
lea eax, [ecx + 2]
mov dword [esi + 4], eax
jmp 0x10228f05
cmp edx, 0xc0
jne case.default.0x1022838f
mov eax, dword [esi + 4]
lea ecx, [edi + 0x70]
cmp eax, dword [esi + 8]
jae 0x10228f24
mov al, byte [eax]
cmp al, 0x80
jae 0x10228f24
movzx eax, al
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
inc dword [esi + 4]
jmp 0x10228f34
push ecx
mov ecx, esi
call fcn.10281860
test al, al
je 0x10229068
or dword [edi + 8], 0x800000
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
sub eax, ecx
cmp eax, 2
jl 0x10228320
cmp byte [ecx], 0xc8
jne 0x10228320
cmp byte [ecx + 1], 1
jne 0x10228320
lea eax, [ecx + 2]
mov dword [esi + 4], eax
jmp 0x10228f73
cmp edx, 0xc8
jne case.default.0x1022838f
mov eax, dword [esi + 4]
lea ecx, [edi + 0x78]
cmp eax, dword [esi + 8]
jae 0x10228f92
mov al, byte [eax]
cmp al, 0x80
jae 0x10228f92
movzx eax, al
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
inc dword [esi + 4]
jmp 0x10228fa2
push ecx
mov ecx, esi
call fcn.10281860
test al, al
je 0x10229068
or dword [edi + 8], 0x1000000
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
sub eax, ecx
cmp eax, 2
jl 0x10228320
cmp byte [ecx], 0xd0
jne 0x10228320
cmp byte [ecx + 1], 1
jne 0x10228320
lea eax, [ecx + 2]
mov dword [esi + 4], eax
jmp 0x10228fdd
cmp edx, 0xd0
jne case.default.0x1022838f
mov eax, dword [esi + 4]
lea ecx, [edi + 0x80]
cmp eax, dword [esi + 8]
jae 0x10228fff
mov al, byte [eax]
cmp al, 0x80
jae 0x10228fff
movzx eax, al
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
inc dword [esi + 4]
jmp 0x1022900b
push ecx
mov ecx, esi
call fcn.10281860
test al, al
je 0x10229068
or dword [edi + 8], 0x2000000
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jne 0x10228320
cmp dword [esi + 0x20], 0
jne 0x10229030
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 0x1c]
jne 0x10228320
mov dword [esi + 0x14], 0
mov byte [esi + 0x18], 1
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
test edx, edx
je 0x1022903b
mov eax, edx
and al, 7
cmp al, 4
je 0x1022903b
lea eax, [edi + 4]
mov ecx, esi
push eax
call fcn.102a42d0
add esp, 4
test al, al
jne 0x10228320
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 4