Function at 0x100254c0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x1a0
mov ebx, ecx
mov eax, dword [0x101db014]
xor eax, ebp
mov dword [esp + 0x198], eax
mov eax, dword [ecx + 0x14]
mov eax, dword [eax + 0x28]
add eax, eax
mov ecx, 0xaaaaaaab
mul ecx
shr edx, 1
lea eax, [ebx + 0x7c]
mov dword [esp + 0x6c], eax
mov ecx, dword [ebx + 0x74]
xor edi, edi
mov dword [esp + 0x50], ebx
cmp dword [ecx + 0x14], 0
mov dword [esp + 0x24], ecx
js 0x100272ca
cmp byte [ecx + 0xc], 0
jne 0x100257e9
xor esi, esi
cmp dword [ecx + 0x14], edx
jle 0x10027767
mov al, byte [ebx + 0x44]
test al, al
je 0x10027767
mov dword [esp + 0x78], edx
mov byte [esp + 0x4f], al
movsx eax, al
mov ecx, dword [ebx + eax*4 + 0x74]
movzx eax, word [ebx + eax*2 + 0x46]
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], ecx
mov ecx, dword [ecx + 0x48]
mov eax, dword [ecx + 0x14]
test byte [ecx + 0x1c], 4
je 0x10026f32
mov edx, dword [eax + 0x18]
cmp edx, dword [ecx + 0x18]
jb 0x10026f32
cmp dword [eax + 0x60], 0
je 0x1002557b
call fcn.10011230
mov esi, eax
test eax, eax
jne 0x10027010
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x14], 0
js 0x10026ffd
mov eax, dword [esp + 0x24]
cmp byte [eax + 3], 0
mov dword [esp + 0x40], edi
jne 0x100270b7
mov eax, dword [ebx + 0x14]
mov ecx, dword [eax + 0x24]
call fcn.1000fc70
movzx edx, byte [ebx + 3]
xor ecx, ecx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0xac], ecx
mov byte [esp + 0xb0], 0
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0x64], eax
test eax, eax
mov esi, dword [esp + 0x20]
je 0x1002757f
and edx, 1
mov dword [esp + 0x1c], edx
movzx ecx, byte [esi + 0xc]
movzx eax, word [esi + 0x18]
lea edx, [eax + ecx]
mov ebx, edx
cmp edx, 2
jb 0x10027029
mov edx, dword [esp + 0x30]
test dx, dx
je 0x10026ff0
cmp ebx, edx
je 0x10026fe2
dec edx
mov dword [esp + 0x3c], edx
mov ebx, 2
sub ebx, dword [esp + 0x1c]
mov edx, dword [esi + 0x34]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x3c]
sub edx, ecx
add edx, ebx
mov ecx, dword [esi + 0x38]
mov dword [esp + 0x54], ecx
cmp edx, eax
mov eax, ebx
mov dword [esp + 0x2c], ebx
je 0x10026f24
mov eax, esi
movzx esi, word [esi + 0x1a]
mov eax, dword [eax + 0x40]
movzx eax, word [eax + edx*2]
push eax
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ushort
mov ecx, dword [esp + 0x30]
add esp, 4
and ax, si
movzx edx, ax
lea eax, [ecx + 1]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x68], edx
push dword [eax + edx]
mov esi, ecx
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov edx, eax
lea edi, [esi*4]
mov eax, dword [esp + 0x3c]
lea ecx, [eax + eax]
mov dword [esp + 0x14], ecx
dec eax
mov dword [esp + 0x18], eax
mov ebx, esi
mov ecx, dword [esp + 0x38]
lea eax, [esp + edi]
add eax, 0x18c
mov dword [esp + 4], eax
mov esi, edx
xor eax, eax
push eax
xor eax, eax
push eax
push dword [esp + 0xc]
call fcn.1000e4a0
add esp, 0xc
mov dword [esp + 0x8c], eax
test eax, eax
jne 0x1002738c
mov ecx, dword [esp + ebx*4 + 0x18c]
cmp dword [ecx + 0x14], 0
mov edx, esi
js 0x100257ce
mov esi, ebx
sub esi, 1
jb 0x10025818
mov dword [esp + 4], edi
mov edi, dword [esp + 0x20]
movzx eax, byte [edi + 0xc]
mov ecx, dword [esp + 0x18]
add ecx, ebx
mov dword [esp + 0xc], ecx
test eax, eax
mov edx, ebx
mov dword [esp + 8], ebx
jne 0x10027466
movzx ecx, word [edi + 0x1a]
mov dword [esp + 0x10], ecx
mov ecx, dword [edi + 0x40]
add eax, eax
sub ecx, eax
mov ebx, dword [edi + 0x38]
add ecx, dword [esp + 0x14]
movzx eax, word [ecx + edx*2 - 2]
push eax
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ushort
add esp, 4
and eax, dword [esp + 0x10]
lea edi, [ebx + eax]
mov ecx, dword [esp + 8]
mov dword [esp + ecx*4 + 0x16c], edi
push dword [ebx + eax]
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x4c]
call dword [section..00cfg]
mov dword [esp + 0x48], edi
push edi
mov edi, dword [esp + 0x24]
push edi
call ecx
add esp, 8
movzx ebx, ax
mov eax, dword [esp + 8]
mov dword [esp + eax*4 + 0x130], ebx
mov eax, dword [esp + 0x38]
test byte [eax + 0x18], 0xc
jne 0x100274b3
movzx eax, byte [edi + 0xc]
mov edx, dword [esp + 0xc]
sub edx, eax
mov ecx, edi
lea eax, [esp + 0x8c]
push eax
push ebx
call fcn.10010d50
add esp, 8
mov edi, dword [esp + 4]
add edi, 0xfffffffc
cmp dword [esp + 0x8c], 0
mov ebx, esi
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
je 0x1002569f
jmp 0x10027390
call fcn.10027c10
mov edx, esi
mov dword [esp + 0x8c], eax
test eax, eax
je 0x100256e1
jmp 0x10027589
mov al, byte [ebx + 0x44]
test al, al
jne 0x1002552e
mov dword [esp + 0x78], edx
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 8]
test eax, eax
je 0x10026d04
cmp eax, ebx
je 0x10025813
cmp byte [eax], 0
je 0x10027738
mov eax, dword [eax + 0x18]
jmp 0x100257fe
mov dword [esp + 0x88], edx
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x24]
lea eax, [ecx - 8]
mov edx, 0xaaaaaaab
mul edx
mov esi, edx
shr esi, 2
add esi, 4
imul esi, dword [esp + 0x60]
add esi, 3
and esi, 0xfffffffc
lea eax, [esi + esi*2]
lea ecx, [ecx + eax*2]
mov edx, ecx
sar edx, 0x1f
call fcn.10144e50
mov dword [esp + 0xc8], eax
test eax, eax
je 0x10027596
lea eax, [eax + esi*4]
mov dword [esp + 0xcc], eax
lea ecx, [eax + esi*2]
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0x18c]
mov dword [esp + 0xc4], edx
movzx ecx, byte [edx + 8]
mov dword [esp + 0x7c], ecx
shl ecx, 2
mov dword [esp + 0x34], ecx
mov ecx, dword [edx + 0x38]
movzx edi, word [edx + 0x12]
mov dword [esp + 4], ecx
add edi, ecx
movzx ecx, byte [edx + 3]
mov dword [esp + 0x18], ecx
lea ecx, [edx + 0x38]
lea esi, [edx + 0x12]
mov dword [esp + 8], esi
mov dword [esp + 0x28], 0
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], 0
mov dword [esp + 0x14], edx
mov esi, edx
movzx edx, word [esi + 0x18]
movzx ecx, word [esi + 0x1a]
mov dword [esp + 0x10], ecx
lea eax, [eax + ebx*2]
mov ebx, edx
movzx ecx, byte [esi + 0xc]
add ecx, edx
add ecx, ecx
push ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
cmp byte [esi + 0xc], 0
mov dword [esp + 0xc], esi
jne 0x10025a72
mov edx, dword [esp + 4]
mov eax, dword [esp + 8]
movzx eax, word [eax]
add eax, edx
mov ecx, dword [esp + 0xc]
movzx ecx, word [ecx + 0x18]
lea eax, [eax + ecx*2]
mov ebx, dword [esp + 0xc0]
cmp edi, eax
jae 0x1002596b
mov dword [esp + 8], eax
mov esi, dword [esp + 0x10]
movzx eax, word [edi]
push eax
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ushort
add esp, 4
mov ecx, esi
and ecx, eax
movzx eax, cx
add eax, dword [esp + 4]
mov ecx, dword [esp + 0xc8]
mov dword [ecx + ebx*4], eax
add edi, 2
mov ebx, dword [esp + 0xc0]
inc ebx
mov dword [esp + 0xc0], ebx
cmp edi, dword [esp + 8]
jb 0x10025932
mov edi, dword [esp + 0x48]
mov dword [esp + edi*4 + 0x148], ebx
cmp byte [esp + 0x18], 0
jne 0x10025b04
mov eax, dword [esp + 0x2c]
cmp edi, eax
jae 0x10025b08
mov eax, dword [esp + edi*4 + 0x134]
movzx eax, ax
mov ecx, dword [esp + 0xcc]
mov word [ecx + ebx*2], ax
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x28]
lea esi, [ecx + edx]
add edx, eax
mov dword [esp + 0x28], edx
push eax
push dword [esp + edi*4 + 0x174]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [esp + 0x34]
add esi, edx
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc8]
mov dword [ecx + eax*4], esi
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xcc]
sub word [ecx + eax*2], dx
mov eax, dword [esp + 0xc]
cmp byte [eax + 8], 0
je 0x10025b15
mov ebx, dword [esp + 0xc0]
mov eax, dword [esp + 0xcc]
cmp word [eax + ebx*2], 3
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
jbe 0x100273b6
inc ebx
mov dword [esp + 0xc0], ebx
mov eax, dword [esp + 0x2c]
cmp edi, eax
je 0x10025b45
mov esi, dword [esp + edi*4 + 0x190]
mov edx, dword [esi + 0x38]
mov al, byte [edx]
mov ecx, dword [esp + 0x5c]
mov ecx, dword [ecx]
cmp al, byte [ecx]
jne 0x10027403
inc edi
mov dword [esp + 0x48], edi
lea eax, [esi + 0x38]
mov dword [esp + 0x44], eax
lea eax, [esi + 0x12]
mov dword [esp + 8], eax
movzx edi, word [eax]
mov dword [esp + 4], edx
add edi, edx
mov eax, dword [esp + 0xcc]
jmp 0x100258d4
movzx esi, word [esi + 0x1c]
cmp bx, si
jb 0x10027414
mov ebx, dword [esp + 0xc0]
test si, si
je 0x10025ad3
movzx eax, word [edi]
push eax
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ushort
mov edx, dword [esp + 8]
add esp, 4
mov ecx, dword [esp + 0x10]
and ecx, eax
movzx eax, cx
add eax, edx
mov ecx, dword [esp + 0xc8]
mov dword [ecx + ebx*4], eax
add edi, 2
mov ebx, dword [esp + 0xc0]
inc ebx
mov dword [esp + 0xc0], ebx
dec esi
jne 0x10025a8b
mov eax, dword [esp + 0xc]
cmp byte [eax + 0xc], 0
je 0x1002590b
xor eax, eax
mov esi, dword [esp + 0xc]
mov ecx, dword [esi + eax*4 + 0x24]
mov edx, dword [esp + 0xc8]
mov dword [edx + ebx*4], ecx
mov ebx, dword [esp + 0xc0]
inc ebx
mov dword [esp + 0xc0], ebx
inc eax
movzx ecx, byte [esi + 0xc]
cmp eax, ecx
jb 0x10025ad9
jmp 0x10025907
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
jmp 0x10025a28
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x44]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 8]
mov dword [eax], ecx
mov ebx, dword [esp + 0xc0]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
jmp 0x10025a1c
mov eax, dword [ecx + 0x28]
mov ecx, dword [esp + 0x34]
add eax, ecx
add eax, 0xfffffff4
mov dword [esp + 0x48], eax
xor esi, esi
xor eax, eax
mov ecx, dword [edx + 0x3c]
mov dword [esp + eax*4 + 0xd0], ecx
mov ecx, dword [esp + esi*4 + 0x148]
mov dword [esp + eax*4 + 0xe8], ecx
mov edi, 0
test eax, eax
je 0x10025b87
lea edi, [eax - 1]
cmp ecx, dword [esp + eax*4 + 0xe4]
cmovne edi, eax
cmp byte [esp + 0x18], 0
mov dword [esp + 4], ecx
jne 0x10025bab
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x3c]
mov dword [esp + edi*4 + 0xd4], eax
lea eax, [ecx + 1]
mov dword [esp + edi*4 + 0xec], eax
inc edi
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x48]
sub ebx, dword [edx + 0x14]
mov dword [esp + esi*4 + 0x134], ebx
cmp byte [edx + 0xc], 0
jne 0x10025be2
mov eax, dword [esp + 4]
mov dword [esp + esi*4 + 0x15c], eax
cmp esi, ecx
je 0x10025c37
inc edi
mov edx, dword [esp + esi*4 + 0x190]
inc esi
mov eax, edi
jmp 0x10025b59
mov dword [esp + 8], 0
mov dword [esp + 0x14], edx
mov ecx, dword [edx + 0x4c]
mov eax, dword [esp + 8]
mov eax, dword [edx + eax*4 + 0x24]
mov dword [esp + 0x10], eax
call dword [section..00cfg]
push dword [esp + 0x10]
push dword [esp + 0x18]
call ecx
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
add esp, 8
movzx eax, ax
add ebx, eax
add ebx, 2
mov dword [esp + esi*4 + 0x134], ebx
inc dword [esp + 8]
movzx eax, byte [edx + 0xc]
cmp dword [esp + 8], eax
jae 0x10025bc3
jmp 0x10025bee
xor edx, edx
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], eax
mov ebx, dword [esp + edx*4 + 0x134]
cmp ebx, dword [esp + 0x48]
jg 0x10025d20
mov esi, dword [esp + edx*4 + 0x15c]
mov eax, dword [esp + 0xc0]
cmp esi, eax
jge 0x10025cf3
mov edi, esi
mov eax, dword [esp + 0xcc]
movzx eax, word [eax + esi*2]
test ax, ax
je 0x100272af
movzx eax, ax
add ebx, eax
add ebx, 2
cmp ebx, dword [esp + 0x48]
jg 0x10025cea
lea esi, [edi + 1]
mov dword [esp + edx*4 + 0x134], ebx
mov dword [esp + edx*4 + 0x15c], esi
cmp byte [esp + 0x18], 0
jne 0x10025cdb
cmp esi, dword [esp + 0xc0]
jge 0x100270b0
mov eax, dword [esp + 0xcc]
movzx eax, word [eax + edi*2 + 2]
test ax, ax
jne 0x10025cd8
lea ecx, [esp + 0xc0]
mov edi, edx
mov edx, esi
call fcn.100279d0
mov edx, edi
mov ecx, dword [esp + 0x2c]
movzx eax, ax
add eax, 2
sub dword [esp + edx*4 + 0x138], eax
jmp 0x10025c59
mov eax, dword [esp + 0xc0]
mov esi, edi
cmp esi, eax
jge 0x10025dfa
xor eax, eax
test edx, edx
je 0x10025d08
mov eax, dword [esp + edx*4 + 0x158]
cmp esi, eax
jle 0x10027524
inc edx
cmp edx, dword [esp + 0xc]
jl 0x10025c41
jmp 0x10025dff
lea eax, [edx + 1]
mov dword [esp + 8], eax
lea eax, [edx + 2]
mov dword [esp + 0x10], eax
mov dword [esp + 4], edx
mov eax, dword [esp + 8]
cmp eax, dword [esp + 0xc]
jge 0x10025dc7
mov edi, dword [esp + edx*4 + 0x15c]
lea esi, [edi - 1]
mov eax, dword [esp + 0xcc]
movzx eax, word [eax + edi*2 - 2]
test ax, ax
jne 0x10025d69
lea ecx, [esp + 0xc0]
mov edx, esi
call fcn.100279d0
movzx eax, ax
add eax, 2
sub ebx, eax
mov edx, dword [esp + 4]
mov dword [esp + edx*4 + 0x134], ebx
cmp byte [esp + 0x18], 0
mov ecx, dword [esp + 0x2c]
jne 0x10025daa
cmp edi, dword [esp + 0xc0]
jge 0x10025df6
mov eax, dword [esp + 0xcc]
movzx eax, word [eax + edi*2]
test ax, ax
je 0x10027653
movzx eax, ax
add eax, 2
add dword [esp + edx*4 + 0x138], eax
mov dword [esp + edx*4 + 0x15c], esi
cmp ebx, dword [esp + 0x48]
jle 0x10025c59
jmp 0x10025d32
cmp edx, 4
jae 0x10027425
mov dword [esp + edx*4 + 0x138], 0
mov eax, dword [esp + 0xc0]
mov dword [esp + edx*4 + 0x160], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc], eax
jmp 0x10025d40
xor eax, eax
jmp 0x10025daa
inc edx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xc]
lea edx, [eax - 1]
mov eax, dword [esp + 0x18]
add eax, eax
neg eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x70], edx
mov edi, dword [esp + 0x30]
test edx, edx
jle 0x10025f68
mov esi, dword [esp + edx*4 + 0x130]
mov eax, dword [esp + edx*4 + 0x134]
mov dword [esp + 8], eax
mov eax, dword [esp + edx*4 + 0x158]
mov edi, edx
mov ebx, eax
mov edx, eax
sub edx, dword [esp + 0x18]
mov eax, dword [esp + 0xcc]
cmp word [eax + edx*2], 0
je 0x100271e5
mov dword [esp + 4], eax
lea ecx, [edi - 1]
mov dword [esp + 0x58], ecx
xor ecx, ecx
mov edx, edi
mov dword [esp + 0x14], edi
cmp edi, dword [esp + 0x70]
sete cl
lea eax, [ecx + ecx]
add eax, 0xfffffffe
mov dword [esp + 0x28], eax
mov ecx, ebx
lea edi, [ecx - 1]
mov eax, dword [esp + 4]
cmp word [eax + ecx*2 - 2], 0
mov ebx, ecx
jne 0x10025e9c
lea ecx, [esp + 0xc0]
mov edx, edi
call fcn.100279d0
mov edx, dword [esp + 8]
test edx, edx
mov dword [esp + 0x10], edi
je 0x10025f46
cmp byte [esp + 0x1c], 0
jne 0x100272a8
mov edi, dword [esp + 0xcc]
mov ecx, dword [esp + 0x44]
add ecx, edi
movzx ecx, word [ecx + ebx*2]
lea eax, [edx + ecx + 2]
mov ecx, edx
mov dword [esp + 4], edi
movzx edx, word [edi + ebx*2 - 2]
mov edi, dword [esp + 0x28]
add edi, esi
sub edi, edx
cmp eax, edi
jg 0x10025f0b
sub esi, edx
add esi, 0xfffffffe
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov dword [esp + edx*4 + 0x158], ebx
mov edx, ebx
inc edx
mov dword [esp + 8], eax
mov ecx, ebx
cmp edx, 1
jg 0x10025e7d
jmp 0x10025f0d
mov eax, ecx
mov edx, dword [esp + 0x14]
mov dword [esp + edx*4 + 0x134], eax
mov dword [esp + edx*4 + 0x130], esi
xor eax, eax
cmp edx, 2
jl 0x10025f2d
mov eax, dword [esp + edx*4 + 0x154]
mov edx, dword [esp + 0x58]
cmp ebx, eax
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
jg 0x10025e1a
jmp 0x10027436
mov edx, dword [esp + 0xcc]
mov ecx, dword [esp + 0x44]
add ecx, edx
movzx eax, word [ecx + ebx*2]
mov dword [esp + 4], edx
movzx edx, word [edx + ebx*2 - 2]
add eax, 2
jmp 0x10025ee3
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
movzx ebx, byte [eax]
cmp dword [esp + 0xc], 0
jle 0x10026f59
mov dword [esp + 4], ebx
sub edi, dword [esp + 0x3c]
mov dword [esp + 0x10], 0
xor ebx, ebx
cmp ebx, ecx
ja 0x1002602c
mov esi, dword [esp + ebx*4 + 0x18c]
mov dword [esp + ebx*4 + 0x178], esi
mov dword [esp + ebx*4 + 0x18c], 0
mov ecx, dword [esi + 0x48]
mov edx, dword [ecx + 0x14]
test byte [ecx + 0x1c], 4
je 0x1002600c
mov eax, dword [edx + 0x18]
cmp eax, dword [ecx + 0x18]
jb 0x1002600c
cmp dword [edx + 0x60], 0
je 0x10026008
call fcn.10011230
mov dword [esp + 0x8c], eax
inc dword [esp + 0x10]
mov ecx, dword [esi + 0x48]
movsx ecx, word [ecx + 0x1e]
xor edx, edx
cmp edi, ebx
sete dl
inc edx
cmp edx, ecx
jne 0x10027349
test eax, eax
mov ecx, dword [esp + 0x2c]
jne 0x10027383
inc ebx
cmp dword [esp + 0xc], ebx
jne 0x10025f8e
jmp 0x100260de
xor eax, eax
jmp 0x10025fce
mov eax, dword [edx + 0x28]
test eax, eax
jne 0x10025fce
mov eax, dword [edx + 0x94]
cmp eax, dword [edx + 0x98]
ja 0x1002767b
call fcn.10011a30
jmp 0x10025fce
xor eax, eax
inc eax
cmp byte [esp + 0x1c], 0
jne 0x1002603d
mov eax, dword [esp + 0x88]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x38]
mov ecx, edi
lea edx, [esp + 0x90]
push 0
push eax
lea eax, [esp + 0x90]
push eax
call fcn.100165a0
add esp, 0xc
mov dword [esp + 0x8c], eax
test eax, eax
jne 0x10027383
mov esi, dword [esp + 0x90]
mov ecx, esi
mov edx, dword [esp + 4]
call fcn.10015170
mov dword [esp + ebx*4 + 0x178], esi
inc dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
mov dword [esp + ebx*4 + 0x148], eax
cmp byte [edi + 0x11], 0
je 0x100271d8
mov edx, dword [esi + 4]
mov ecx, edi
lea eax, [esp + 0x8c]
push eax
mov eax, dword [esp + 0x24]
push dword [eax + 4]
push 5
call fcn.10027d30
add esp, 0xc
cmp dword [esp + 0x8c], 0
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
je 0x10025ffc
jmp 0x10027383
xor edx, edx
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x1002766e
mov esi, edx
mov ecx, dword [esp + edx*4 + 0x178]
mov eax, dword [ecx + 4]
mov dword [esp + edx*4 + 0x120], eax
mov dword [esp + edx*4 + 0x10c], eax
mov ecx, dword [ecx + 0x48]
movzx ecx, word [ecx + 0x1c]
mov word [esp + edx*2 + 0x102], cx
test edx, edx
je 0x1002612f
xor ecx, ecx
cmp dword [esp + ecx*4 + 0x120], eax
je 0x1002735a
inc ecx
mov esi, edx
cmp edx, ecx
jne 0x1002611b
inc edx
mov eax, dword [esp + 0x10]
cmp edx, eax
jne 0x100260ec
xor edi, edi
mov esi, 0
cmp eax, 1
je 0x10026166
xor ecx, ecx
xor eax, eax
inc eax
mov edx, dword [esp + eax*4 + 0x10c]
mov esi, eax
cmp edx, dword [esp + ecx*4 + 0x10c]
jb 0x1002615d
mov esi, ecx
inc eax
mov ecx, esi
cmp dword [esp + 0x10], eax
jne 0x10026149
mov ebx, dword [esp + esi*4 + 0x10c]
mov dword [esp + esi*4 + 0x10c], 0xffffffff
cmp esi, edi
jne 0x1002618a
inc edi
mov eax, dword [esp + 0x10]
cmp edi, eax
jne 0x1002613a
jmp 0x10026271
jle 0x10026202
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x30]
add eax, esi
inc eax
mov dword [esp + 8], eax
mov eax, dword [esp + esi*4 + 0x178]
mov edx, dword [eax + 0x48]
mov dword [esp + 0x14], edx
mov word [edx + 0x1c], 0
mov eax, dword [edx]
mov dword [esp + 0xc], eax
mov eax, dword [edx + 0xc]
mov ecx, dword [0x101db0a8]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 0x18]
mov dword [esp + 0x28], eax
call dword [section..00cfg]
push dword [esp + 8]
push dword [esp + 0x2c]
push dword [esp + 0x14]
push dword [esp + 0x28]
call ecx
mov ecx, dword [esp + 0x24]
add esp, 0x10
mov eax, dword [esp + 8]
mov dword [ecx + 0x18], eax
movzx eax, word [ecx + 0x1c]
and eax, 0xa
cmp ax, 0xa
je 0x100277c5
movzx eax, word [esp + esi*2 + 0x102]
mov ecx, dword [esp + edi*4 + 0x178]
mov dword [esp + 8], ecx
mov esi, dword [ecx + 0x48]
mov word [esi + 0x1c], ax
mov eax, dword [esi]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [0x101db0a8]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [esp + 0x1c], eax
call dword [section..00cfg]
push ebx
push dword [esp + 0x20]
push dword [esp + 0x14]
push dword [esp + 0x20]
call ecx
add esp, 0x10
mov dword [esi + 0x18], ebx
movzx eax, word [esi + 0x1c]
and eax, 0xa
cmp ax, 0xa
je 0x10027794
mov eax, dword [esp + 8]
mov dword [eax + 4], ebx
jmp 0x1002617c
mov dword [esp + 0x88], ebx
mov cl, 1
mov dword [esp + 0x74], ecx
mov ebx, dword [esp + 4]
mov esi, dword [esp + eax*4 + 0x174]
push dword [esi + 4]
mov edi, eax
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x68]
mov dword [ecx + edx], eax
test bl, 8
jne 0x100262b0
cmp dword [esp + 0x60], edi
jne 0x10027072
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x38]
cmp byte [eax + 0x11], 0
je 0x100264c0
mov eax, dword [esp + 0xc0]
test eax, eax
jle 0x100264c0
mov edx, dword [esp + 0x178]
xor ecx, ecx
cmp byte [esp + 0x18], 0
sete cl
mov dword [esp + 0x30], ecx
movzx ecx, byte [edx + 0xc]
movzx esi, word [edx + 0x18]
add esi, ecx
mov dword [esp + 0x14], esi
xor esi, esi
mov dword [esp + 4], 0
xor ecx, ecx
mov dword [esp + 0xc], edx
mov dword [esp + 8], edx
cmp esi, dword [esp + 0x14]
je 0x100263d1
mov edx, dword [esp + 0xc8]
mov ebx, dword [edx + esi*4]
cmp esi, dword [esp + ecx*4 + 0x15c]
je 0x100263b7
mov edi, ecx
mov ecx, dword [esp + 4]
cmp ecx, dword [esp + 0x10]
jge 0x10026367
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 4]
mov edx, dword [esp + 4]
cmp ecx, dword [esp + edx*4 + 0x120]
jne 0x10026367
mov ecx, dword [esp + 8]
cmp ebx, dword [ecx + 0x38]
jb 0x10026367
mov ecx, dword [esp + 8]
cmp ebx, dword [ecx + 0x3c]
jae 0x10026367
inc esi
mov ecx, edi
cmp esi, eax
jl 0x10026308
jmp 0x100264c0
cmp byte [esp + 0x7c], 0
je 0x1002648a
mov eax, dword [esp + 0xcc]
movzx eax, word [eax + esi*2]
test ax, ax
je 0x100263a7
mov ecx, dword [esp + 0xc]
cmp ax, word [ecx + 0x10]
ja 0x10026443
cmp dword [esp + 0x8c], 0
jne 0x10027383
mov eax, dword [esp + 0xc0]
jmp 0x1002635b
lea ecx, [esp + 0xc0]
mov edx, esi
call fcn.100279d0
jmp 0x10026382
lea edi, [ecx + 1]
mov ecx, dword [esp + ecx*4 + 0x17c]
mov dword [esp + 0xc], ecx
cmp byte [esp + 0x18], 0
je 0x1002635b
jmp 0x1002632b
mov edx, dword [esp + 0x30]
add edx, esi
mov dword [esp + 0x44], edx
lea edx, [esp + 0x190]
mov ebx, dword [esp + 4]
lea edx, [edx + ebx*4]
mov dword [esp + 0x1c], edx
lea edi, [esp + 0x17c]
lea edx, [edi + ebx*4]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 4]
inc edx
mov edi, edx
mov dword [esp + 4], edx
cmp edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
mov edi, ebx
cmovl edi, dword [esp + 0x28]
mov edx, dword [edi]
movzx edi, word [edx + 0x18]
add edi, dword [esp + 0x44]
mov dword [esp + 8], edx
movzx edx, byte [edx + 0xc]
add edx, edi
add ebx, 4
mov dword [esp + 0x1c], ebx
add dword [esp + 0x28], 4
mov dword [esp + 0x14], edx
cmp esi, edx
jne 0x10026312
jmp 0x100263fb
cmp dword [esp + 0x8c], 0
jne 0x10026390
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x50]
call dword [section..00cfg]
lea eax, [esp + 0x90]
push eax
push ebx
push dword [esp + 0x14]
call ecx
add esp, 0xc
movzx eax, word [esp + 0xa0]
cmp dword [esp + 0x9c], eax
jbe 0x10026390
jmp 0x10026f96
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
mov dword [esp + 0x1c], eax
push dword [ebx]
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov ecx, dword [esp + 0x38]
mov edx, eax
lea eax, [esp + 0x8c]
push eax
push dword [esp + 0x20]
push 5
call fcn.10027d30
add esp, 0xc
jmp 0x10026372
mov ecx, dword [esp + 0x10]
cmp ecx, 2
jl 0x100265d3
lea eax, [ecx - 1]
mov dword [esp + 0x1c], eax
xor ebx, ebx
xor eax, eax
mov edi, dword [esp + ebx*4 + 0x178]
mov esi, dword [esp + ebx*4 + 0x15c]
mov edx, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x28], edx
mov edx, dword [edx + esi*4]
movzx ecx, word [ecx + esi*2]
mov dword [esp + 0xc], edi
cmp byte [edi + 8], 0
mov edi, dword [esp + 0x34]
lea edi, [ecx + edi]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x64]
mov dword [esp + 0x14], eax
lea eax, [edi + eax]
mov dword [esp + 8], eax
je 0x100265c2
cmp byte [esp + 0x18], 0
jne 0x10027200
add edx, 0xfffffffc
cmp cx, 4
mov edi, dword [esp + 0xc]
je 0x100274fc
xor ecx, ecx
mov eax, ecx
cmp ecx, 5
ja 0x10026558
lea ecx, [eax + 1]
cmp dword [esp + eax*4 + 0xe8], ebx
jle 0x10026545
mov esi, edi
mov eax, dword [esp + eax*4 + 0xd0]
cmp eax, edx
jb 0x10026573
mov ecx, dword [esp + 4]
add ecx, edx
cmp eax, ecx
jb 0x1002756b
mov eax, dword [esp + 0x3c]
mov edi, edx
lea edx, [ebx + eax]
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x8c]
push eax
push dword [esi + 4]
push dword [esp + 0x10]
mov esi, dword [esp + 0x10]
push esi
push edi
call fcn.10010e70
add esp, 0x14
cmp dword [esp + 0x8c], 0
jne 0x10027383
mov eax, dword [esp + 0x14]
add eax, esi
inc ebx
cmp ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
jne 0x100264d8
jmp 0x100265d3
mov edi, dword [esp + 0xc]
mov eax, dword [edi + 0x38]
mov ecx, dword [edx]
mov dword [eax + 8], ecx
jmp 0x10026543
xor edi, edi
inc edi
sub edi, ecx
cmp edi, ecx
mov cl, byte [esp + 0x4f]
jge 0x10026b83
xor eax, eax
cmp byte [esp + 0x18], 0
sete al
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x84], eax
mov edx, edi
neg edx
cmovl edx, edi
cmp byte [esp + edx + 0xac], 0
jne 0x100267bc
test edi, edi
jns 0x100267cc
mov eax, dword [esp + edx*4 + 0x144]
cmp eax, dword [esp + edx*4 + 0x158]
jl 0x100267bc
cmp edx, dword [esp + 0x2c]
jg 0x10026ad9
lea eax, [edx - 1]
mov esi, dword [esp + edx*4 + 0x144]
mov ecx, dword [esp + 0x68]
add esi, ecx
mov dword [esp + 0xc], esi
mov esi, dword [esp + eax*4 + 0x15c]
add esi, ecx
mov eax, dword [esp + edx*4 + 0x15c]
sub eax, esi
mov dword [esp + 8], esi
mov ecx, dword [esp + edx*4 + 0x178]
mov esi, dword [ecx + 0x38]
mov dword [esp + 0x28], esi
lea esi, [eax + eax]
add esi, dword [ecx + 0x40]
mov dword [esp + 0x1c], esi
movzx esi, byte [ecx + 9]
mov dword [esp + 0x44], esi
movzx esi, word [ecx + 0x18]
movzx ebx, byte [ecx + 0xc]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 8]
mov dword [esp + 0x18], esi
cmp dword [esp + 0xc], ebx
mov dword [esp + 0x58], edi
mov dword [esp + 0x70], edx
mov dword [esp + 4], ecx
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x34]
jl 0x100269ce
add esi, dword [esp + 0xc]
add esi, edx
add ebx, eax
cmp esi, ebx
jg 0x100267ea
mov ebx, dword [esp + 4]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x44]
movzx eax, byte [ecx + edx + 5]
shl eax, 8
movzx ecx, byte [ecx + edx + 6]
add eax, ecx
dec eax
movzx eax, ax
add eax, edx
inc eax
mov dword [esp + 0x90], eax
cmp eax, dword [esp + 0x1c]
jb 0x10026aec
mov ecx, ebx
mov edx, dword [esp + 0xc]
mov esi, edx
mov ebx, dword [esp + 8]
sub esi, ebx
jg 0x1002689a
mov ebx, ecx
mov al, byte [ebx + 0xc]
test al, al
jne 0x10026936
mov edi, dword [esp + 0x18]
lea eax, [edi + edi]
add eax, dword [ebx + 0x40]
mov ebx, dword [esp + 0x14]
sub ebx, edi
add edi, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x1c]
lea esi, [esp + 0xc0]
push esi
push ebx
mov ebx, dword [esp + 0xc]
push edi
push eax
lea eax, [esp + 0xa0]
push eax
call fcn.10027ac0
add esp, 0x14
test eax, eax
mov ecx, dword [esp + 0x70]
mov edi, dword [esp + 0x58]
jne 0x10026aec
mov eax, dword [esp + 0x14]
mov word [ebx + 0x18], ax
mov byte [ebx + 0xc], 0
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x44]
mov byte [edx + esi + 3], ah
mov al, byte [ebx + 0x18]
mov byte [edx + esi + 4], al
mov eax, dword [esp + 0x90]
sub eax, edx
rol ax, 8
mov word [edx + esi + 5], ax
mov dword [esp + 0x8c], 0
mov byte [esp + ecx + 0xac], 1
mov eax, dword [esp + 0x48]
sub eax, dword [esp + ecx*4 + 0x134]
mov dword [ebx + 0x14], eax
mov cl, byte [esp + 0x4f]
inc edi
cmp edi, dword [esp + 0x10]
jne 0x10026600
jmp 0x10026b83
xor esi, esi
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0x84]
test edi, edi
je 0x10026661
jmp 0x10026631
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x34]
mov edx, dword [ecx + 0x38]
mov eax, dword [eax + 0x28]
add eax, edx
mov dword [esp + 0x34], eax
movzx eax, byte [ecx + 9]
movzx ecx, byte [ecx + 0xa]
add ecx, eax
mov dword [esp + 0x54], edx
lea eax, [edx + ecx]
add eax, 8
mov dword [esp + 0x5c], eax
mov dword [esp + 0x30], 0
xor eax, eax
xor edx, edx
mov dword [esp + 0x3c], esi
mov ecx, dword [esp + 0xc8]
mov edi, dword [ecx + ebx*4]
cmp edi, dword [esp + 0x5c]
jb 0x1002688f
cmp edi, dword [esp + 0x34]
jae 0x1002688f
mov ecx, dword [esp + 0xcc]
movzx esi, word [ecx + ebx*2]
lea ecx, [edi + esi]
cmp edx, ecx
je 0x10026896
test edx, edx
je 0x10026879
sub edx, dword [esp + 0x54]
mov dword [esp + 0x80], ecx
mov ecx, 0xffff
and eax, ecx
and edx, ecx
mov ecx, dword [esp + 4]
push eax
call fcn.100117f0
mov ecx, dword [esp + 0x84]
add esp, 4
cmp ecx, dword [esp + 0x34]
ja 0x100273f8
inc dword [esp + 0x30]
mov edx, edi
mov eax, esi
mov esi, dword [esp + 0x3c]
inc ebx
cmp ebx, esi
jl 0x10026825
jmp 0x10026905
add esi, eax
jmp 0x10026883
mov eax, dword [esp + 0x14]
cmp esi, eax
cmovg esi, eax
mov edi, ecx
mov edx, dword [ecx + 0x40]
mov dword [esp + 0x34], edx
lea eax, [edx + esi*2]
mov ecx, dword [esp + 0x18]
add ecx, ecx
push ecx
push edx
push eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov ecx, edi
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0xc0]
push eax
push esi
push ebx
mov ebx, edi
push dword [esp + 0x40]
lea eax, [esp + 0xa0]
push eax
call fcn.10027ac0
add esp, 0x14
test eax, eax
mov ecx, 0
cmovne esi, ecx
test eax, eax
jne 0x10026aec
add dword [esp + 0x18], esi
mov edx, dword [esp + 0xc]
jmp 0x10026710
test edx, edx
je 0x1002754e
sub edx, dword [esp + 0x54]
mov ecx, 0xffff
and eax, ecx
and edx, ecx
mov ebx, dword [esp + 4]
mov ecx, ebx
push eax
call fcn.100117f0
add esp, 4
mov eax, dword [esp + 0x30]
sub dword [esp + 0x18], eax
jmp 0x100266cb
xor esi, esi
movzx edi, word [ebx + esi*2 + 0x1c]
add edi, edx
mov ecx, edi
sub ecx, dword [esp + 8]
js 0x100269bd
cmp ecx, dword [esp + 0x14]
jge 0x100269bd
mov dword [esp + 0x34], edi
lea edi, [ecx + ecx]
add edi, dword [ebx + 0x40]
mov eax, dword [esp + 0x18]
sub eax, ecx
jle 0x1002696f
lea ecx, [edi + 2]
add eax, eax
push eax
push edi
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0x34]
cmp word [eax + ecx*2], 0
je 0x10027685
mov ecx, ebx
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0xc0]
push eax
push 1
push dword [esp + 0x3c]
push edi
lea eax, [esp + 0xa0]
push eax
call fcn.10027ac0
add esp, 0x14
test eax, eax
jne 0x10026aec
inc dword [esp + 0x18]
mov al, byte [ebx + 0xc]
mov edx, dword [esp + 0xc]
inc esi
movzx ecx, al
cmp esi, ecx
jae 0x1002671b
jmp 0x10026938
mov eax, dword [ecx + 0x34]
mov eax, dword [eax + 0x28]
mov edx, dword [esp + 0x28]
add eax, edx
mov dword [esp + 0x30], eax
movzx eax, byte [ecx + 0xa]
add eax, dword [esp + 0x44]
add eax, edx
add eax, 8
mov dword [esp + 0x5c], eax
mov dword [esp + 0x18], 0
xor eax, eax
xor edx, edx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x3c], esi
mov ecx, dword [esp + 0xc8]
mov edi, dword [ecx + ebx*4]
cmp edi, dword [esp + 0x5c]
jb 0x10026a67
cmp edi, dword [esp + 0x30]
jae 0x10026a67
mov ecx, dword [esp + 0xcc]
movzx ecx, word [ecx + ebx*2]
lea esi, [edi + ecx]
cmp edx, esi
je 0x10026a70
test edx, edx
je 0x10026a51
sub edx, dword [esp + 0x28]
mov dword [esp + 0x54], ecx
mov ecx, 0xffff
and eax, ecx
and edx, ecx
mov ecx, dword [esp + 4]
push eax
call fcn.100117f0
mov ecx, dword [esp + 0x58]
add esp, 4
cmp esi, dword [esp + 0x30]
mov esi, dword [esp + 0x3c]
ja 0x1002769a
inc dword [esp + 0x18]
mov edx, edi
mov eax, ecx
inc ebx
cmp dword [esp + 8], ebx
jne 0x10026a03
jmp 0x10026a74
add ecx, eax
jmp 0x10026a5f
test edx, edx
mov esi, dword [esp + 4]
je 0x10026a94
sub edx, dword [esp + 0x28]
mov ecx, 0xffff
and eax, ecx
and edx, ecx
mov ecx, esi
push eax
call fcn.100117f0
add esp, 4
mov eax, esi
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x18]
cmp ecx, esi
mov ebx, dword [esp + 8]
jg 0x10027557
mov dword [esp + 0x18], ecx
mov eax, dword [eax + 0x40]
lea ecx, [eax + ecx*2]
lea edx, [esi + esi]
push edx
push ecx
push eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, esi
sub eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
jmp 0x100266b7
mov esi, dword [esp + 0xc0]
lea eax, [edx - 1]
mov ecx, dword [esp + 0x68]
jmp 0x1002664b
cmp dword [esp + 0x14], 0
jle 0x10026b4f
mov eax, dword [esp + 0x14]
lea esi, [eax + 1]
mov eax, dword [esp + 8]
lea edi, [eax + eax]
mov eax, dword [esp + 0xcc]
cmp word [eax + edi], 0
jne 0x10026b46
mov ebx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc8]
mov ecx, dword [ebx + 0x4c]
mov eax, dword [eax + edi*2]
mov dword [esp + 0xc], eax
call dword [section..00cfg]
push dword [esp + 0xc]
push ebx
mov ebx, dword [esp + 0xc]
call ecx
add esp, 8
mov ecx, dword [esp + 0xcc]
mov word [ecx + edi], ax
dec esi
add edi, 2
cmp esi, 1
jg 0x10026b01
lea ecx, [esp + 0xc0]
mov edx, dword [esp + 8]
push ebx
push dword [esp + 0x18]
call fcn.10028190
add esp, 8
mov dword [esp + 0x8c], eax
test eax, eax
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x70]
je 0x100267a2
jmp 0x10027383
cmp cl, 1
jne 0x10026b97
mov eax, dword [esp + 0x20]
cmp word [eax + 0x18], 0
je 0x100276cf
mov ebx, dword [esp + 0x38]
cmp byte [ebx + 0x11], 0
setne al
cmp byte [esp + 0x7c], 0
sete cl
and cl, al
mov eax, dword [esp + 0x74]
and al, cl
cmp al, 1
je 0x10027036
mov ecx, dword [esp + 0x10]
cmp ecx, dword [esp + 0x2c]
jle 0x1002726e
mov esi, dword [esp + 0xc8]
test esi, esi
mov dword [esp + 0x10], ecx
je 0x100275bd
cmp dword [0x101db020], 0
je 0x100275ab
mov edi, dword [0x101ddc98]
test edi, edi
je 0x10026c0b
mov ecx, dword [0x101db070]
cmp ecx, 0x1012e640
jne 0x100275c6
push edi
call dword [sym.imp.kernel32.dll_EnterCriticalSection]
mov ecx, dword [0x101db04c]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
sub dword [0x101ddc44], eax
dec dword [0x101ddc68]
mov ecx, dword [0x101db044]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov esi, dword [0x101ddc98]
test esi, esi
je 0x100275bd
mov ecx, dword [0x101db078]
cmp ecx, 0x1012e630
mov edi, dword [esp + 0x40]
jne 0x100275d7
push esi
call dword [sym.imp.kernel32.dll_LeaveCriticalSection]
xor esi, esi
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + esi*4 + 0x18c]
test eax, eax
jne 0x1002709f
inc esi
cmp dword [esp + 0x60], esi
jne 0x10026c6c
test ecx, ecx
jle 0x10026cac
xor ebx, ebx
mov eax, dword [esp + ebx*4 + 0x178]
test eax, eax
je 0x10026ca5
mov ecx, dword [eax + 0x48]
test byte [ecx + 0x1c], 0x20
jne 0x100272e6
call fcn.1001c870
inc ebx
cmp dword [esp + 0x10], ebx
jne 0x10026c88
mov esi, dword [esp + 0x8c]
test edi, edi
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x24]
jne 0x10027019
mov edi, dword [esp + 0x64]
mov byte [eax + 0xc], 0
mov ecx, dword [eax + 0x48]
test byte [ecx + 0x1c], 0x20
jne 0x100275e8
call fcn.1001c870
mov al, byte [ebx + 0x44]
dec al
mov byte [ebx + 0x44], al
movsx eax, al
lea eax, [ebx + eax*4]
add eax, 0x78
mov ecx, dword [eax]
mov dword [ebx + 0x74], ecx
test esi, esi
mov edx, dword [esp + 0x78]
je 0x10025500
jmp 0x10027767
xor eax, eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x34]
mov dword [esp + 8], ecx
mov ecx, dword [eax + 0x48]
mov eax, dword [ecx + 0x14]
test byte [ecx + 0x1c], 4
mov dword [esp + 0x40], edi
je 0x10026f68
mov edx, dword [eax + 0x18]
cmp edx, dword [ecx + 0x18]
jb 0x10026f68
cmp dword [eax + 0x60], 0
je 0x10026d54
call fcn.10011230
mov esi, eax
test eax, eax
jne 0x100277ac
mov ecx, dword [esp + 8]
lea edx, [esp + 0x90]
push 0
mov ebx, dword [esp + 0x28]
push dword [ebx + 4]
lea eax, [esp + 0x180]
push eax
call fcn.100165a0
add esp, 0xc
mov esi, eax
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x90]
test esi, esi
mov dword [esp + 4], eax
jne 0x10027541
mov ecx, dword [ebx + 0x34]
mov dword [esp + 0x10], ecx
mov esi, dword [ebx + 0x38]
cmp dword [eax + 4], 1
movzx ecx, byte [ebx + 9]
mov dword [esp + 0xc], ecx
mov edi, 0
mov edx, eax
mov eax, 0x64
cmove edi, eax
movzx eax, word [esi + ecx + 5]
shl eax, 0x10
bswap eax
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x28]
sub ecx, eax
mov edx, dword [edx + 0x38]
mov dword [esp + 0x14], edx
add edx, eax
add eax, esi
push ecx
push eax
push edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, dword [esp + 0x14]
add esi, dword [esp + 0xc]
movzx eax, word [ebx + 0x12]
movzx ecx, word [ebx + 0x18]
lea eax, [eax + ecx*2]
push eax
push esi
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 4]
mov byte [ecx], 0
mov edi, ecx
call fcn.1000fdd0
test eax, eax
jne 0x10027538
mov ecx, edi
call fcn.10027c10
test eax, eax
jne 0x10027538
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x11], 0
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 8]
je 0x10026f8f
mov ecx, dword [esp + 4]
call fcn.10027fd0
mov esi, eax
mov dword [esp + 0xc0], eax
cmp byte [edi + 0x11], 0
je 0x10026e7c
mov edx, dword [esp + 0x178]
mov ecx, edi
lea eax, [esp + 0xc0]
push eax
mov eax, dword [esp + 0x28]
push dword [eax + 4]
push 5
call fcn.10027d30
add esp, 0xc
mov esi, dword [esp + 0xc0]
test esi, esi
jne 0x100276a9
mov esi, dword [esp + 4]
lea eax, [esi + 0x1c]
mov edi, dword [esp + 0x24]
lea ecx, [edi + 0x1c]
movzx edx, byte [edi + 0xc]
add edx, edx
push edx
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esi + 0x24]
lea ecx, [edi + 0x24]
movzx edx, byte [edi + 0xc]
shl edx, 2
push edx
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov al, byte [edi + 0xc]
mov byte [esi + 0xc], al
mov eax, dword [esi + 0x38]
movzx edx, byte [eax]
and edx, 0xfffffff7
mov ecx, edi
call fcn.10015170
mov eax, dword [edi + 0x38]
mov dword [esp + 8], eax
movzx edi, byte [edi + 9]
push dword [esp + 0x178]
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov ecx, dword [esp + 8]
mov dword [edi + ecx + 8], eax
mov eax, dword [esp + 0x6c]
mov dword [eax], esi
xor esi, esi
test esi, esi
mov edi, dword [esp + 0x40]
jne 0x10027767
mov byte [ebx + 0x44], 1
mov dword [ebx + 0x46], 0
mov eax, dword [esp + 0x24]
mov dword [ebx + 0x78], eax
xor esi, esi
mov eax, dword [esp + 0x6c]
jmp 0x10026cee
mov ecx, ebx
movzx edx, byte [esi + 9]
add edx, 8
jmp 0x10025664
mov esi, dword [eax + 0x28]
test esi, esi
jne 0x10027010
mov edx, dword [eax + 0x94]
cmp edx, dword [eax + 0x98]
ja 0x1002778a
call fcn.10011a30
jmp 0x10025571
xor eax, eax
mov dword [esp + 0x74], 0
jmp 0x10026282
mov esi, dword [eax + 0x28]
test esi, esi
jne 0x100277a5
mov edx, dword [eax + 0x94]
cmp edx, dword [eax + 0x98]
ja 0x100277bb
call fcn.10011a30
jmp 0x10026d4a
xor esi, esi
jmp 0x10026e4d
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x3c]
cmp ecx, ebx
jb 0x10026fab
add eax, ebx
cmp ecx, eax
jb 0x100277d4
movzx eax, word [esp + 0xa2]
push dword [eax + ebx - 4]
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov ebx, dword [esp + 0xc]
mov ecx, dword [ebx + 0x34]
mov edx, eax
lea eax, [esp + 0x8c]
push eax
push dword [ebx + 4]
push 3
call fcn.10027d30
add esp, 0xc
jmp 0x10026390
mov ebx, dword [esp + 0x1c]
add edx, ebx
add edx, 0xfffffffe
jmp 0x10025613
mov dword [esp + 0x3c], 0
jmp 0x10025617
mov ecx, dword [esp + 0x20]
call fcn.10027c10
test eax, eax
je 0x10025589
mov esi, eax
mov eax, dword [esp + 0x24]
jmp 0x10026cc7
mov ecx, edi
call fcn.1001e460
mov eax, dword [esp + 0x24]
jmp 0x10026cc3
mov dword [esp + 0x3c], 0
jmp 0x10025620
xor esi, esi
mov edi, dword [esp + esi*4 + 0x178]
mov eax, dword [edi + 0x38]
push dword [eax + 8]
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov ecx, ebx
mov edx, eax
lea eax, [esp + 0x8c]
push eax
push dword [edi + 4]
push 5
call fcn.10027d30
add esp, 0xc
inc esi
cmp dword [esp + 0x10], esi
jne 0x10027038
jmp 0x10026bba
cmp edi, dword [esp + 0x60]
lea eax, [esp + 0x18c]
lea ecx, [esp + 0x178]
cmovg eax, ecx
mov ecx, dword [esp + 0x2c]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esi + 0x38]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
jmp 0x100262b0
mov ecx, dword [eax + 0x48]
call fcn.1014e440
mov ecx, dword [esp + 0x10]
jmp 0x10026c7b
xor eax, eax
jmp 0x10025cde
mov eax, dword [esp + 0x24]
cmp byte [eax + 0xc], 1
jne 0x1002559b
mov ecx, dword [esp + 0x24]
movzx eax, word [ecx + 0x1c]
cmp ax, word [ecx + 0x18]
jne 0x1002559b
mov ecx, dword [esp + 0x20]
cmp dword [ecx + 4], 1
je 0x1002559b
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
cmp word [ecx + 0x18], dx
jne 0x1002559b
test ax, ax
je 0x10027833
mov eax, dword [esp + 0x24]
mov edi, dword [eax + 0x34]
xor eax, eax
lea esi, [esp + 0x15c]
lea edx, [esp + 0x90]
mov ecx, edi
push eax
push eax
push esi
call fcn.100165a0
add esp, 0xc
mov esi, eax
test eax, eax
jne 0x10027856
mov ebx, dword [esp + 0x24]
mov esi, dword [ebx + 0x24]
lea eax, [esp + 0x148]
mov dword [eax], esi
mov ecx, dword [ebx + 0x4c]
call dword [section..00cfg]
push esi
push ebx
call ecx
add esp, 8
lea ecx, [esp + 0x134]
mov word [ecx], ax
mov esi, dword [esp + 0x90]
mov ecx, esi
mov edx, 0xd
call fcn.10015170
xor eax, eax
inc eax
lea ecx, [esp + 0xc0]
mov dword [ecx], eax
mov dword [ecx + 4], ebx
lea edx, [esp + 0x148]
mov dword [ecx + 8], edx
lea edx, [esp + 0x134]
mov dword [ecx + 0xc], edx
mov edx, dword [ebx + 0x3c]
mov dword [ecx + 0x10], edx
mov dword [ecx + 0x28], 2
xor edx, edx
mov dword [esp + 4], esi
push esi
push eax
call fcn.10028190
add esp, 8
mov dword [esp + 0x178], eax
test eax, eax
je 0x10027875
mov esi, eax
cmp dword [esp + 4], 0
je 0x10027856
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x48]
call fcn.1014e440
jmp 0x10027856
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
jmp 0x10025ffc
lea ecx, [esp + 0xc0]
call fcn.100279d0
lea eax, [esp + 0xc0]
mov eax, dword [eax + 0xc]
jmp 0x10025e57
mov edi, dword [esp + 0xc]
mov ecx, dword [edi + 0x50]
mov eax, dword [esp + 0x28]
mov esi, dword [eax + esi*4 - 4]
call dword [section..00cfg]
lea eax, [esp + 0x90]
push eax
push esi
push edi
call ecx
add esp, 0xc
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x94]
mov dword [esp + 4], 0
mov ecx, 0x7f
cmp ecx, edx
mov ecx, 0
sbb ecx, eax
mov esi, dword [esp + 8]
lea ecx, [esi + 4]
jb 0x10027802
mov byte [ecx], dl
mov dword [esp + 4], 5
mov edx, esi
mov dword [esp + 8], 0
jmp 0x10026543
mov eax, dword [esp + 0x8c]
mov esi, ecx
test eax, eax
jne 0x10027297
mov edx, dword [esp + esi*4 + 0x18c]
mov ecx, dword [edx + 0x34]
push dword [edx + 4]
call fcn.1005cd70
add esp, 4
mov dword [esp + 0x8c], eax
inc esi
cmp dword [esp + 0x60], esi
mov ecx, dword [esp + 0x10]
je 0x10026bc8
jmp 0x10027277
mov eax, edx
jmp 0x10025f0d
lea ecx, [esp + 0xc0]
mov esi, edx
mov edx, edi
call fcn.100279d0
mov edx, esi
mov ecx, dword [esp + 0x2c]
jmp 0x10025c7e
mov esi, edx
call fcn.10027c10
test eax, eax
mov ecx, dword [esp + 0x24]
mov edx, esi
je 0x1002550e
xor esi, esi
jmp 0x10027767
mov esi, dword [ecx + 0x14]
dec dword [esi + 0x78]
mov eax, dword [esi + 0x88]
mov dword [ecx + 0x10], eax
mov dword [esi + 0x88], ecx
mov eax, dword [ecx + 0x18]
dec eax
mov edx, dword [esi + 0x98]
mov edi, edx
sar edi, 0x1f
imul edi, eax
mul edx
mov dword [esp + 4], eax
mov eax, dword [ecx + 4]
mov dword [esp + 8], eax
mov esi, dword [esi + 0x3c]
add edx, edi
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0x40]
mov eax, dword [esi]
mov ecx, dword [eax + 0x48]
call dword [section..00cfg]
push dword [esp + 8]
push dword [esp + 0x10]
push dword [esp + 0xc]
push esi
call ecx
add esp, 0x10
jmp 0x10026ca5
mov esi, 0xb
push 0x101c47ed
push 0x11ef0
jmp 0x10027369
mov esi, 0xb
push 0x101c47ed
push 0x11f1e
push str.database_corruption
push str._s_at_line__d_of___.10s_
push esi
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov dword [esp + 0x8c], esi
mov ecx, dword [esp + 0x10]
jmp 0x10026bc8
mov edx, esi
mov esi, ebx
mov dword [esp + 0x88], edx
lea eax, [esi*4 + 4]
push eax
push 0
lea eax, [esp + 0x194]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
jmp 0x1002745f
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x28]
mov byte [eax + ecx], 0
inc ecx
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xcc]
inc word [ecx + eax*2]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0xc0]
mov eax, dword [esp + 0xcc]
cmp word [eax + ebx*2], 4
jae 0x10025a1c
jmp 0x100273b6
xor eax, eax
mov ebx, dword [esp + 4]
jmp 0x1002692d
mov esi, 0xb
push 0x101c47ed
push 0x11e09
jmp 0x10027445
mov esi, 0xb
push 0x101c47ed
push 0x11e21
jmp 0x10027445
mov esi, 0xb
push 0x101c47ed
push 0x11e86
jmp 0x10027445
mov esi, 0xb
push 0x101c47ed
push 0x11ed1
push str.database_corruption
push str._s_at_line__d_of___.10s_
push esi
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov dword [esp + 0x8c], esi
xor ecx, ecx
jmp 0x10026bc8
movzx ecx, word [edi + 0x1c]
cmp dword [esp + 0xc], ecx
jne 0x10025710
mov ebx, dword [edi + 0x24]
mov dword [esp + edx*4 + 0x16c], ebx
push dword [ebx]
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov dword [esp + 0x10], eax
mov ecx, dword [edi + 0x4c]
call dword [section..00cfg]
push ebx
push edi
call ecx
add esp, 8
movzx eax, ax
mov ecx, dword [esp + 8]
mov dword [esp + ecx*4 + 0x130], eax
mov byte [edi + 0xc], 0
jmp 0x100257aa
mov eax, dword [esp + 0x48]
sub eax, dword [edi + 0x38]
lea ecx, [eax + ebx]
mov edx, dword [esp + 0x38]
cmp ecx, dword [edx + 0x28]
jg 0x1002578d
add eax, dword [esp + 0x64]
push ebx
mov edi, dword [esp + 0x4c]
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x20]
sub edi, dword [eax + 0x38]
add edi, dword [esp + 0x64]
mov eax, dword [esp + 8]
mov dword [esp + eax*4 + 0x16c], edi
mov edi, dword [esp + 0x20]
jmp 0x1002578d
mov edi, dword [esp + 0x20]
mov ecx, dword [edi + 0x4c]
mov esi, edx
call dword [section..00cfg]
push esi
push edi
mov edi, dword [esp + 0x14]
call ecx
mov edx, esi
add esp, 8
movzx eax, ax
mov dword [esp + 4], eax
jmp 0x10026543
mov esi, 0xb
push 0x101c47ed
push 0x11ea7
jmp 0x10027445
mov esi, eax
mov dword [esp + 0xc0], eax
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 8]
jmp 0x10026e4d
mov ebx, dword [esp + 4]
jmp 0x10026929
mov esi, 0xb
push 0x101c47ed
push 0x11bf1
jmp 0x10027369
mov esi, 0xb
push 0x101c47ed
push 0x11fbb
jmp 0x10027369
mov esi, 7
jmp 0x10026cb3
mov dword [esp + 0x88], edx
push edi
jmp 0x1002739f
mov dword [esp + 0x8c], 7
mov dword [esp + 0x10], 0
jmp 0x100275bd
mov ecx, dword [0x101db044]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
mov edi, dword [esp + 0x40]
jmp 0x10026c66
call dword [section..00cfg]
push edi
call ecx
add esp, 4
jmp 0x10026c0b
call dword [section..00cfg]
push esi
call ecx
add esp, 4
jmp 0x10026c66
mov dword [esp + 0x40], edi
mov edi, dword [ecx + 0x14]
dec dword [edi + 0x78]
mov eax, dword [edi + 0x88]
mov dword [ecx + 0x10], eax
mov dword [edi + 0x88], ecx
mov eax, dword [ecx + 0x18]
dec eax
mov edx, dword [edi + 0x98]
mov ebx, edx
sar ebx, 0x1f
imul ebx, eax
mul edx
mov dword [esp + 4], eax
mov eax, dword [ecx + 4]
mov dword [esp + 8], eax
mov edi, dword [edi + 0x3c]
add edx, ebx
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 0x50]
mov eax, dword [edi]
mov ecx, dword [eax + 0x48]
call dword [section..00cfg]
push dword [esp + 8]
push dword [esp + 0x14]
push dword [esp + 0xc]
push edi
mov edi, dword [esp + 0x50]
call ecx
add esp, 0x10
jmp 0x10026cdd
lea ecx, [esp + 0xc0]
mov edx, edi
call fcn.100279d0
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0x2c]
jmp 0x10025da4
mov dword [esp + 0x74], 0
jmp 0x1002627e
call fcn.10151ff0
jmp 0x10025fce
lea ecx, [esp + 0xc0]
mov edx, dword [esp + 0x34]
call fcn.100279d0
jmp 0x10026985
xor ecx, ecx
mov eax, dword [esp + 4]
mov ebx, dword [esp + 8]
jmp 0x10026aaa
mov eax, dword [esp + 0x6c]
mov dword [eax], 0
cmp dword [esp + 4], 0
je 0x100276c6
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x48]
call fcn.1014e440
mov ebx, dword [esp + 0x50]
jmp 0x10026efb
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + 9]
mov esi, dword [esp + 0x178]
cmp dword [esi + 0x14], eax
jl 0x10026b97
xor edx, edx
dec edx
mov ecx, esi
call fcn.10020fe0
mov dword [esp + 0x8c], eax
mov ecx, esi
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x8c]
push eax
call fcn.1015fcf0
add esp, 4
cmp dword [esp + 0x8c], 0
jne 0x10026bba
mov ecx, dword [esi + 0x34]
mov edx, esi
push dword [esi + 4]
call fcn.1005cd70
add esp, 4
mov dword [esp + 0x8c], eax
jmp 0x10026bba
mov ecx, dword [eax + 0x74]
cmp ecx, dword [ebx + 0x74]
jne 0x10025813
push 0x101c47ed
push 0x120a1
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
test edi, edi
je 0x10027772
mov ecx, edi
call fcn.1001e460
mov ecx, dword [esp + 0x198]
xor ecx, ebp
call fcn.1014dc80
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.10151ff0
jmp 0x10025571
mov ecx, esi
mov edx, 3
call fcn.1007a780
jmp 0x10026265
mov dword [esp + 0xc0], esi
mov eax, dword [esp + 0x6c]
mov dword [eax], 0
jmp 0x10026efb
call fcn.10151ff0
jmp 0x10026d4a
mov edx, 3
call fcn.1007a780
jmp 0x10026202
mov ebx, 0xb
push 0x101c47ed
push 0x10533
push str.database_corruption
push str._s_at_line__d_of___.10s_
push ebx
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov dword [esp + 0x8c], ebx
jmp 0x10026390
mov esi, 0x3fff
cmp esi, edx
sbb dword [esp + 4], eax
jb 0x10027863
mov eax, edx
shr eax, 7
or al, 0x80
mov byte [ecx], al
and dl, 0x7f
mov byte [ecx + 1], dl
mov dword [esp + 4], 6
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 8]
jmp 0x1002725f
push 0x101c47ed
push 0x11c61
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 edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x50]
jmp 0x10027010
push eax
call fcn.1015c660
add esp, 4
add eax, 4
mov dword [esp + 4], eax
jmp 0x10027826
mov eax, dword [edi + 0x28]
mov edx, dword [esp + 4]
movzx ecx, word [edx + 0x12]
sub eax, ecx
movzx ecx, word [esp + 0x134]
sub eax, ecx
add eax, 0xfffffffe
mov dword [edx + 0x14], eax
cmp byte [edi + 0x11], 0
je 0x100278e9
mov edx, dword [esp + 0x15c]
mov ecx, edi
lea eax, [esp + 0x178]
push eax
mov eax, dword [esp + 0x24]
push dword [eax + 4]
push 5
call fcn.10027d30
add esp, 0xc
movzx eax, word [esp + 0x134]
mov ecx, dword [esp + 4]
cmp ax, word [ecx + 0x10]
jbe 0x100278e9
mov ecx, dword [esp + 4]
mov edx, ecx
lea eax, [esp + 0x178]
push eax
push dword [esp + 0x14c]
call fcn.1015bfa0
add esp, 8
mov ecx, dword [esp + 0x24]
movzx esi, word [ecx + 0x1a]
mov ebx, dword [ecx + 0x38]
mov eax, dword [ecx + 0x40]
movzx ecx, word [ecx + 0x18]
movzx eax, word [eax + ecx*2 - 2]
push eax
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ushort
add esp, 4
and eax, esi
lea edx, [ebx + eax]
add ebx, eax
add ebx, 2
xor esi, esi
mov eax, ebx
lea ecx, [edx + 1]
mov dword [esp + 0x148], ecx
cmp esi, 7
ja 0x10027931
inc esi
lea ebx, [eax + 1]
cmp byte [edx], 0
mov edx, ecx
js 0x10027915
add ecx, 9
mov esi, 4
mov dword [esp + 0x148], eax
mov dl, byte [eax - 1]
mov byte [esp + esi + 0xb3], dl
inc esi
cmp eax, ecx
jae 0x10027954
inc eax
test dl, dl
js 0x10027939
cmp dword [esp + 0x178], 0
jne 0x10027988
mov ecx, dword [esp + 0x20]
movzx edx, word [ecx + 0x18]
lea eax, [esp + 0xb3]
lea ebx, [esp + 0x178]
push ebx
mov ebx, dword [esp + 0x28]
push dword [ebx + 4]
push 0
push esi
push eax
call fcn.10010e70
add esp, 0x14
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 0x38]
movzx ebx, byte [eax + 9]
push dword [esp + 0x15c]
call sub.api_ms_win_crt_utility_l1_1_0.dll__byteswap_ulong
add esp, 4
mov dword [ebx + esi + 8], eax
cmp dword [esp + 4], 0
je 0x100279b9
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x48]
call fcn.1014e440
mov esi, dword [esp + 0x178]
jmp 0x10027856