Function at 0x100553e7
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
and esp, 0xfffffff0
push ebp
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x168
mov dword [ebp - 0x14c], edi
mov dword [ebp - 0x150], esi
mov eax, dword [ebx + 8]
mov edi, dword [eax + 4]
xor edx, edx
mov dword [ebp - 0x154], eax
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0x14], edi
mov ecx, 1
mov dword [ebp - 0xd4], ecx
xor esi, esi
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x28], edx
xor ecx, ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x40], ecx
movzx ecx, byte [edi + 0x12d]
mov edi, dword [ebp - 0xd4]
lea edx, [ebp - 0xb0]
lea eax, [ebp - 0x134]
push eax
and ecx, 4
push edx
lea eax, [ebx + 0xc]
shr ecx, 2
mov dword [ebp - 0x24], ecx
lea ecx, [ebx + 0x10]
push ecx
push eax
call fcn.10013d90
mov dword [ebp - 0x20], eax
add esp, 0x10
test eax, eax
jne 0x10055d4a
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x2c], eax
cmp eax, 2
je 0x10055e0f
cmp eax, 1
je 0x10055d3a
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x12d]
test cl, 8
je 0x10052fc3
movsx edx, byte [eax + 0x120]
test edx, edx
jne 0x10052fc3
mov eax, dword [ebp - 0xa4]
cmp eax, 1
jle 0x10052fc3
mov eax, dword [ebp - 0x2c]
cmp eax, 5
jl 0x10052fa1
cmp eax, 0x11
jle 0x10052fa6
cmp eax, 0x19
jl 0x10052f9a
cmp eax, 0x1f
jle 0x10052fa6
cmp eax, 0x32
jl 0x10052f8e
cmp eax, 0x34
jle 0x10052fa6
jmp 0x10052fc3
cmp eax, 0x28
jl 0x10052fc3
cmp eax, 0x30
jle 0x10052fa6
jmp 0x10052fc3
cmp eax, 0x32
jge 0x10052fa6
jmp 0x10052fc3
cmp eax, 0x19
jl 0x10052fc3
mov eax, 1
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x134]
cmp eax, 5
jne 0x10052fce
mov edx, 1
mov dword [ebp - 0x44], edx
jmp 0x10052fd3
xor eax, eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x134]
xor edx, edx
mov dword [ebp - 0x44], edx
mov edi, dword [ebp - 0x40]
test edx, edx
je 0x10052fdf
mov edi, 0
mov dword [ebp - 0x40], edi
cmp eax, 7
jl 0x10053120
cmp eax, 8
jg 0x10053120
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x10053011
mov eax, dword [ebp - 0xac]
cdq
mov edi, dword [ebp - 0x38]
idiv edi
mov edi, eax
jmp 0x10053013
xor edi, edi
test edi, edi
jne 0x1005302f
mov eax, dword [ebp - 0xb4]
test eax, eax
jne 0x100533ac
mov esi, 1
jmp 0x10052ef9
mov eax, dword [ebp - 0x2c]
cmp eax, 0x34
je 0x10053041
cmp eax, 0x1c
jl 0x10053054
cmp eax, 0x2c
jg 0x10053054
mov eax, dword [ebp - 0x38]
lea eax, [eax + eax]
mov edx, 1
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x28], edx
jmp 0x1005305c
mov eax, dword [ebp - 0x38]
xor edx, edx
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x130]
test edx, edx
jle 0x10053087
cmp eax, dword [ebp - 0x120]
jne 0x1005308f
mov eax, dword [ebp - 0x124]
cmp eax, dword [ebp - 0x128]
jg 0x1005308f
cmp eax, 1
je 0x10053db2
jmp 0x1005308f
test edx, edx
jle 0x10053e77
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0x10], esi
xor ecx, ecx
xor eax, eax
mov edi, dword [ebp + eax - 0x124]
mov esi, dword [ebp + eax - 0x120]
mov dword [ebp + ecx*4 - 0x60], edi
add eax, 0xc
mov dword [ebp + ecx*4 - 0x7c], esi
mov dword [ebp + ecx*4 - 0x98], edi
add ecx, 1
cmp ecx, edx
jl 0x1005309c
mov edi, dword [ebp - 0xd4]
mov esi, dword [ebp - 0x10]
test edx, edx
jle 0x10053e77
mov dword [ebp - 0x10], esi
xor eax, eax
xor ecx, ecx
mov esi, dword [ebp + eax*4 - 0x98]
sub esi, dword [ebp + eax*4 - 0x60]
imul esi, dword [ebp + eax*4 - 0x7c]
add eax, 1
add ecx, esi
cmp eax, edx
jl 0x100530db
mov esi, dword [ebp - 0x10]
add ecx, dword [ebp - 0x12c]
mov dword [ebp - 0xb0], ecx
lea edx, [ebp - 0x98]
lea eax, [ebp - 0x134]
push eax
push edx
push 0
call fcn.1002470c
add esp, 0xc
jmp 0x10053287
cmp eax, 6
je 0x1005312e
cmp eax, 5
jne 0x10053236
mov eax, dword [ebp - 0xa4]
test eax, eax
je 0x10053143
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x38], eax
jmp 0x10053148
xor eax, eax
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x10053169
mov eax, dword [ebp - 0xb4]
test eax, eax
jne 0x100533ac
mov edi, 1
mov esi, 1
jmp 0x10052ef9
test cl, 4
je 0x10053219
mov eax, edx
test eax, eax
jne 0x100531f2
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0xb0]
push eax
push edx
call fcn.1002405c
add esp, 8
test eax, eax
je 0x100531f2
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x100531ac
mov eax, dword [ebp - 0xac]
cdq
mov ecx, dword [ebp - 0x38]
idiv ecx
mov edi, eax
jmp 0x100531ae
xor edi, edi
mov eax, dword [ebp - 0x14]
movzx edx, byte [eax + 0x128]
test dl, 2
je 0x10053294
test edi, edi
jne 0x10053287
mov edx, dword [ebp - 0xb4]
mov dword [eax + 0xf0], 1
test edx, edx
jne 0x10053e7e
movzx ecx, byte [eax + 0x12d]
mov esi, 1
jmp 0x10052ef9
mov eax, dword [ebp - 0x14]
movzx edx, byte [eax + 0x128]
test dl, 2
je 0x1005320d
mov edi, 1
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x10053287
mov edi, 1
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x10053294
mov eax, dword [ebp - 0x14]
movzx edx, byte [eax + 0x128]
test dl, 2
je 0x1005322f
mov edi, 1
jmp 0x10053287
mov edi, 1
jmp 0x10053294
mov eax, dword [ebp - 0x2c]
cmp eax, 0x34
je 0x10053248
cmp eax, 0x1c
jl 0x10053258
cmp eax, 0x2c
jg 0x10053258
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x38], eax
mov edi, 2
jmp 0x10053287
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x10053282
mov eax, dword [ebp - 0xb4]
test eax, eax
jne 0x100533ac
mov edi, 1
mov esi, 1
jmp 0x10052ef9
mov edi, 1
mov eax, dword [ebp - 0x14]
mov dword [eax + 0xf0], 0
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x28]
mov edx, 1
xor ecx, ecx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0xd0], ecx
xor edx, edx
lea ecx, [eax + 3]
mov dword [ebp - 0xa0], ecx
mov ecx, eax
mov dword [ebp - 0xb8], edx
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0xb4]
test eax, eax
jne 0x10053e7e
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x10053e96
cmp edi, 1
jle 0x10053397
mov eax, dword [ebp - 0x134]
cmp eax, 7
je 0x100532fc
cmp eax, 8
jne 0x10053376
test esi, esi
je 0x10053313
mov eax, dword [ebp - 0xa4]
add dword [ebp - 0xb0], eax
add edi, 0xffffffff
xor esi, esi
jmp 0x100532ca
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x130]
test eax, eax
je 0x10053325
mov esi, 1
test edx, edx
jle 0x10053e8f
mov dword [ebp - 0x28], esi
xor eax, eax
xor ecx, ecx
mov esi, dword [ebp + eax*4 - 0x98]
sub esi, dword [ebp + eax*4 - 0x60]
imul esi, dword [ebp + eax*4 - 0x7c]
add eax, 1
add ecx, esi
cmp eax, edx
jl 0x10053334
mov esi, dword [ebp - 0x28]
add ecx, dword [ebp - 0x12c]
mov dword [ebp - 0xb0], ecx
lea edx, [ebp - 0x98]
lea eax, [ebp - 0x134]
push eax
push edx
push 0
call fcn.1002470c
add esp, 0xc
jmp 0x10053382
mov eax, dword [ebp - 0xa4]
add dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x14]
mov dword [eax + 0xf0], 0
add edi, 0xffffffff
jmp 0x100532ca
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x12d]
mov dword [ebp - 0x28], esi
mov esi, dword [ebp - 0x10]
jmp 0x10052ef9
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x14]
cmp edx, 1
jne 0x100536da
mov eax, dword [edi + 0xf0]
test eax, eax
je 0x100534af
mov eax, dword [edi + 0x40]
mov edx, dword [edi + 0x3c]
mov dword [edi + 0xf0], 0
test eax, eax
je 0x100533e4
sub edx, eax
jmp 0x100533e9
mov eax, dword [edi + 0x38]
sub edx, eax
jne 0x100534af
movzx eax, byte [edi + 0x12e]
test al, 0x20
je 0x10053600
mov eax, edi
call fcn.10056734
test eax, eax
je 0x100535df
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x100536ed
movzx edx, byte [ecx + 0x3c]
test dl, 2
je 0x1005344c
mov dword [ecx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x10053439
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx ecx, byte [edi + 0x12b]
mov esi, ecx
and esi, 0x40
xor edx, edx
test esi, esi
setne dl
movzx esi, byte [edi + 0x12c]
test ecx, 0x80
mov ecx, 2
jne 0x1005347a
mov ecx, 0
test esi, 1
mov esi, 4
jne 0x1005348c
mov esi, 0
or edx, ecx
or edx, esi
push edx
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, dword [edi + 0x100]
cmp eax, 7
jne 0x100534fb
mov edx, dword [edi + 0x10c]
test edx, edx
jl 0x100539fe
mov ecx, dword [edi + 0x3c]
neg edx
add edx, 0xffffff80
mov byte [edi + 0x125], dl
mov byte [ecx], dl
mov esi, dword [edi + 0x3c]
movzx eax, byte [edi + 0x125]
mov edx, dword [edi + 0x38]
add esi, 1
mov dword [edi + 0x3c], esi
sub esi, eax
sub esi, edx
add esi, 0xfffffffe
js 0x1005370d
mov byte [edx + esi], al
movsx eax, byte [edi + 0x11c]
cmp eax, 3
je 0x10053d66
movzx eax, byte [edi + 0x12e]
test al, 0x20
jne 0x1005352e
movzx eax, byte [edi + 0x12f]
test al, 0x10
jne 0x10053d1a
push edi
call fcn.1002d050
pop ecx
jmp 0x10053535
mov eax, edi
call fcn.10056734
test eax, eax
je 0x100535df
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x10053d26
movzx edx, byte [ecx + 0x3c]
test dl, 2
je 0x1005357c
mov dword [ecx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x10053569
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx ecx, byte [edi + 0x12b]
mov esi, ecx
and esi, 0x40
xor edx, edx
test esi, esi
setne dl
movzx esi, byte [edi + 0x12c]
test ecx, 0x80
mov ecx, 2
jne 0x100535aa
mov ecx, 0
test esi, 1
mov esi, 4
jne 0x100535bc
mov esi, 0
or edx, ecx
or edx, esi
push edx
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx eax, byte [edi + 0x12e]
add dword [edi + 0x90], 1
adc dword [edi + 0x94], 0
and eax, 0xffffff7f
and byte [edi + 0x130], 0xef
push dword [edi + 0xc8]
and byte [edi + 0x12b], 0x3f
and eax, 0xfffffffe
and byte [edi + 0x12c], 0xf7
mov byte [edi + 0x12e], al
call fcn.100260c0
pop ecx
test eax, eax
je 0x100536cd
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x10053d46
movzx edx, byte [ecx + 0x3c]
test dl, 2
je 0x1005366a
mov dword [ecx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x10053657
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx ecx, byte [edi + 0x12b]
mov esi, ecx
and esi, 0x40
xor edx, edx
test esi, esi
setne dl
movzx esi, byte [edi + 0x12c]
test ecx, 0x80
mov ecx, 2
jne 0x10053698
mov ecx, 0
test esi, 1
mov esi, 4
jne 0x100536aa
mov esi, 0
or edx, ecx
or edx, esi
push edx
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edx, dword [ebp - 0x154]
mov dword [edx + 4], 0
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push eax
push eax
push 1
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov dword [esp + 4], esi
mov eax, esi
cdq
mov eax, dword [edi + 0xb4]
mov dword [esp + 8], edx
mov edx, 1
call fcn.10056270
add eax, 1
add edx, 1
or eax, edx
jne 0x100537e6
mov edx, dword [edi + 0x18]
test edx, edx
je 0x100539b4
movzx eax, byte [edx + 0x3c]
test al, 2
je 0x1005377e
mov eax, 0x26
mov dword [edx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov eax, dword [edi + 0x64]
test eax, eax
je 0x10053766
xor edx, edx
mov dword [eax + 4], edx
mov dword [edi + 0x64], edx
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov eax, 0x26
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx ecx, byte [edi + 0x12b]
movzx esi, byte [edi + 0x12c]
mov edx, ecx
and edx, 0x40
xor eax, eax
test edx, edx
setne al
test ecx, 0x80
mov edx, 2
jne 0x100537aa
mov edx, 0
test esi, 1
mov ecx, 4
jne 0x100537bc
mov ecx, 0
or eax, edx
or eax, ecx
mov edx, 0x26
push edx
push edx
push eax
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 1
lea eax, [edi + 0x125]
push eax
push edi
call fcn.1002ccf0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x100538b1
mov edx, dword [edi + 0x18]
test edx, edx
je 0x100539d9
movzx eax, byte [edx + 0x3c]
test al, 2
je 0x10053849
mov eax, 0x26
mov dword [edx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov eax, dword [edi + 0x64]
test eax, eax
je 0x10053831
xor edx, edx
mov dword [eax + 4], edx
mov dword [edi + 0x64], edx
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov eax, 0x26
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx ecx, byte [edi + 0x12b]
movzx esi, byte [edi + 0x12c]
mov edx, ecx
and edx, 0x40
xor eax, eax
test edx, edx
setne al
test ecx, 0x80
mov edx, 2
jne 0x10053875
mov edx, 0
test esi, 1
mov ecx, 4
jne 0x10053887
mov ecx, 0
or eax, edx
or eax, ecx
mov edx, 0x26
push edx
push edx
push eax
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
neg esi
add esi, 0xffffffff
mov dword [esp + 4], esi
mov eax, esi
cdq
mov eax, dword [edi + 0xb4]
mov dword [esp + 8], edx
mov edx, 1
call fcn.10056270
add eax, 1
add edx, 1
or eax, edx
jne 0x100534fb
mov edx, dword [edi + 0x18]
test edx, edx
je 0x1005398f
movzx eax, byte [edx + 0x3c]
test al, 2
je 0x10053927
mov eax, 0x26
mov dword [edx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov eax, dword [edi + 0x64]
test eax, eax
je 0x1005390f
xor edx, edx
mov dword [eax + 4], edx
mov dword [edi + 0x64], edx
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov eax, 0x26
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx ecx, byte [edi + 0x12b]
movzx esi, byte [edi + 0x12c]
mov edx, ecx
and edx, 0x40
xor eax, eax
test edx, edx
setne al
test ecx, 0x80
mov edx, 2
jne 0x10053953
mov edx, 0
test esi, 1
mov ecx, 4
jne 0x10053965
mov ecx, 0
or eax, edx
or eax, ecx
mov edx, 0x26
push edx
push edx
push eax
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
mov eax, 0x26
push eax
push eax
push 1
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
mov eax, 0x26
push eax
push eax
push 1
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
mov eax, 0x26
push eax
push eax
push 1
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edx, dword [edi + 0x44]
mov eax, dword [edi + 0x3c]
sub edx, eax
cmp edx, 1
jg 0x10053c5e
push edi
call fcn.1002d050
pop ecx
test eax, eax
je 0x10053ac0
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x10053ca1
movzx edx, byte [ecx + 0x3c]
test dl, 2
je 0x10053a5d
mov dword [ecx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x10053a4a
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx ecx, byte [edi + 0x12b]
mov esi, ecx
and esi, 0x40
xor edx, edx
test esi, esi
setne dl
movzx esi, byte [edi + 0x12c]
test ecx, 0x80
mov ecx, 2
jne 0x10053a8b
mov ecx, 0
test esi, 1
mov esi, 4
jne 0x10053a9d
mov esi, 0
or edx, ecx
or edx, esi
push edx
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
and byte [edi + 0x130], 0xef
push 0
push edi
call fcn.1002b60c
add esp, 8
test eax, eax
je 0x10053b8a
mov edx, dword [edi + 0x18]
test edx, edx
je 0x10053cc1
movzx eax, byte [edx + 0x3c]
test al, 2
je 0x10053b22
mov eax, 0x26
mov dword [edx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov eax, dword [edi + 0x64]
test eax, eax
je 0x10053b0a
xor edx, edx
mov dword [eax + 4], edx
mov dword [edi + 0x64], edx
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov eax, 0x26
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx ecx, byte [edi + 0x12b]
movzx esi, byte [edi + 0x12c]
mov edx, ecx
and edx, 0x40
xor eax, eax
test edx, edx
setne al
test ecx, 0x80
mov edx, 2
jne 0x10053b4e
mov edx, 0
test esi, 1
mov ecx, 4
jne 0x10053b60
mov ecx, 0
or eax, edx
or eax, ecx
mov edx, 0x26
push edx
push edx
push eax
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movsx eax, byte [edi + 0x11c]
add eax, 0xffffffff
cmp eax, 6
ja case.default.0x10053ba4
mov eax, dword [eax*4 + 0x100c01bc]
jmp eax
mov eax, dword [edi + 0x40]
test eax, eax
je 0x10053bb2
mov dword [edi + 0x3c], eax
jmp 0x10053bb8
mov eax, dword [edi + 0x38]
mov dword [edi + 0x3c], eax
mov edx, dword [edi + 0xc0]
lea ecx, [eax + edx - 1]
mov dword [edi + 0x44], ecx
jmp 0x10053c5e
mov edx, dword [edi + 0x40]
mov eax, 1
mov word [ebp - 0x158], ax
test edx, edx
je 0x10053ce6
mov eax, 1
mov byte [edx + 2], al
mov edx, dword [edi + 0x40]
mov byte [edx + 3], 0
mov eax, dword [edi + 0x40]
add eax, 4
mov dword [edi + 0x3c], eax
mov edx, eax
add edx, dword [edi + 0xc0]
mov dword [edi + 0x44], edx
jmp 0x10053c5e
mov eax, dword [edi + 0x40]
test eax, eax
je 0x10053d0c
add eax, 4
mov dword [edi + 0x3c], eax
mov edx, dword [edi + 0xc0]
lea ecx, [eax + edx - 8]
mov dword [edi + 0x44], ecx
jmp 0x10053c5e
mov eax, dword [edi + 0x40]
test eax, eax
je 0x10053c32
mov dword [edi + 0x3c], eax
jmp 0x10053c38
mov eax, dword [edi + 0x38]
mov dword [edi + 0x3c], eax
mov edx, eax
add edx, dword [edi + 0xc0]
mov dword [edi + 0x44], edx
jmp 0x10053c5e
push 0xad5
push str.for_wseq.c
push 2
push 8
call fcn.100149ac
add esp, 0x10
mov eax, dword [edi + 0x3c]
mov byte [edi + 0x125], 0x81
mov byte [eax], 0x81
mov ecx, dword [edi + 0x3c]
movzx edx, byte [edi + 0x125]
mov esi, dword [edi + 0x44]
add ecx, 1
mov dword [edi + 0x3c], ecx
xor eax, eax
cmp edx, 0x81
sete al
sub esi, ecx
sub edx, eax
mov dword [edi + 0x10c], edx
cmp esi, edx
jb 0x10053c96
mov esi, edx
mov dword [edi + 0x110], esi
jmp 0x100534cb
push edi
push eax
push eax
push 1
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
mov eax, 0x26
push eax
push eax
push 1
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx edx, byte [ebp - 0x157]
mov esi, dword [edi + 0x38]
mov eax, 1
mov byte [esi + 2], al
mov ecx, dword [edi + 0x38]
mov byte [ecx + 3], dl
mov eax, dword [edi + 0x38]
add eax, 4
mov dword [edi + 0x3c], eax
jmp 0x10053bf9
mov eax, dword [edi + 0x38]
add eax, 4
mov dword [edi + 0x3c], eax
jmp 0x10053c17
mov eax, edi
call fcn.100562bc
jmp 0x10053535
push edi
push eax
push eax
push 1
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push eax
push eax
push 0
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x10053d8e
movzx eax, byte [ecx + 2]
movzx edx, byte [ecx + 3]
shl edx, 8
or eax, edx
or eax, 2
mov byte [ecx + 2], al
mov ecx, dword [edi + 0x40]
shr eax, 8
mov byte [ecx + 3], al
jmp 0x1005350b
mov ecx, dword [edi + 0x38]
movzx eax, byte [ecx + 2]
movzx edx, byte [ecx + 3]
shl edx, 8
or eax, edx
or eax, 2
mov byte [ecx + 2], al
mov esi, dword [edi + 0x38]
shr eax, 8
mov byte [esi + 3], al
jmp 0x1005350b
cmp edx, 1
jg 0x10053e0d
test cl, 4
jne 0x10053dc7
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x38], eax
jmp 0x10053dec
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0xb0]
push eax
push edx
call fcn.1002405c
add esp, 8
test eax, eax
jne 0x10053e02
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x38], eax
xor edx, edx
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0xb0], eax
mov edi, 1
jmp 0x10053287
mov edx, dword [ebp - 0x130]
jmp 0x10053087
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x10], esi
mov eax, 1
mov dword [ebp - 0xd0], eax
mov ecx, eax
mov eax, 0xc
mov esi, dword [ebp + eax - 0x124]
cmp esi, 1
je 0x10053e39
mov esi, dword [ebp - 0x10]
jmp 0x10053087
cmp esi, dword [ebp + eax - 0x128]
jg 0x10053e31
mov esi, dword [ebp + eax - 0x134]
imul esi, dword [ebp + eax - 0x12c]
cmp esi, dword [ebp + eax - 0x120]
je 0x10053e62
mov esi, dword [ebp - 0x10]
jmp 0x10053087
add eax, 0xc
add ecx, 1
cmp ecx, edx
jl 0x10053e25
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x10]
jmp 0x10053db7
xor ecx, ecx
jmp 0x100530f7
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x14]
mov edx, dword [ebp - 0xa8]
jmp 0x100533b5
xor ecx, ecx
jmp 0x10053350
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x9c], eax
test ecx, ecx
mov dword [ebp - 0x18], edx
je 0x100540ef
and eax, dword [ebp - 0xa0]
test al, 3
jne 0x10054075
mov eax, dword [ebp - 0x38]
cmp eax, 4
je 0x10054041
cmp eax, 8
jne 0x10053f40
mov dword [ebp - 0xd4], edi
mov edi, dword [ebp - 0x9c]
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov eax, edx
shr eax, 0x18
mov edi, edx
and edi, 0xff0000
shr edi, 8
or eax, edi
mov edi, edx
and edi, 0xff00
shl edi, 8
or eax, edi
mov edi, dword [ebp - 0xd4]
shl edx, 0x18
or eax, edx
mov dword [ebp - 0xc8], eax
mov edx, ecx
shr edx, 0x18
mov eax, ecx
and eax, 0xff0000
shr eax, 8
or edx, eax
mov eax, ecx
shl ecx, 0x18
and eax, 0xff00
shl eax, 8
or edx, eax
or edx, ecx
mov dword [ebp - 0xc4], edx
jmp 0x100540e1
cmp eax, 0x10
jne 0x1005401f
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x28], esi
mov esi, dword [eax + 4]
mov dword [ebp - 0xd4], edi
mov edi, dword [eax]
mov dword [ebp - 0x13c], edi
mov eax, edx
shr eax, 0x18
mov edi, edx
and edi, 0xff0000
shr edi, 8
or eax, edi
mov edi, edx
shl edx, 0x18
and edi, 0xff00
shl edi, 8
or eax, edi
or eax, edx
mov edi, dword [ebp - 0xd4]
mov dword [ebp - 0xc8], eax
mov edx, ecx
shr edx, 0x18
mov eax, ecx
and eax, 0xff0000
shr eax, 8
or edx, eax
mov eax, ecx
shl ecx, 0x18
and eax, 0xff00
shl eax, 8
or edx, eax
or edx, ecx
mov eax, esi
mov dword [ebp - 0xc4], edx
and eax, 0xff0000
mov edx, esi
shr edx, 0x18
shr eax, 8
or edx, eax
mov eax, esi
and eax, 0xff00
shl eax, 8
or edx, eax
shl esi, 0x18
or edx, esi
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0xc0], edx
mov edx, dword [ebp - 0x13c]
mov ecx, edx
shr ecx, 0x18
mov eax, edx
and eax, 0xff0000
shr eax, 8
or ecx, eax
mov eax, edx
shl edx, 0x18
and eax, 0xff00
shl eax, 8
or ecx, eax
or ecx, edx
mov dword [ebp - 0xbc], ecx
jmp 0x100540e1
mov eax, dword [ebp - 0x9c]
movzx edx, word [eax]
mov ecx, edx
shr ecx, 8
movzx edx, dl
shl edx, 8
or ecx, edx
mov word [ebp - 0xc8], cx
jmp 0x100540e1
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ecx]
mov eax, edx
shr eax, 0x18
mov ecx, edx
and ecx, 0xff0000
shr ecx, 8
or eax, ecx
mov ecx, edx
shl edx, 0x18
and ecx, 0xff00
shl ecx, 8
or eax, ecx
or eax, edx
mov dword [ebp - 0xc8], eax
jmp 0x100540e1
mov eax, dword [ebp - 0x38]
cmp eax, 1
je 0x10054765
mov eax, dword [ebp - 0x3c]
test eax, eax
jle 0x100540e1
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0xd4], edi
mov edi, edx
mov dword [ebp - 0x28], esi
xor ecx, ecx
lea eax, [eax + edx]
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x1c]
movzx eax, byte [ecx + edi]
sub edx, ecx
movzx esi, byte [edx - 1]
xor esi, eax
xor eax, esi
mov byte [ebp + ecx - 0xc8], al
mov eax, dword [ebp - 0x38]
movzx edx, byte [edx - 1]
xor edx, esi
sub eax, ecx
add ecx, 1
mov byte [ebp + eax - 0xc9], dl
mov eax, dword [ebp - 0x3c]
cmp ecx, eax
jl 0x100540a4
mov edi, dword [ebp - 0xd4]
mov esi, dword [ebp - 0x28]
lea eax, [ebp - 0xc8]
mov dword [ebp - 0x9c], eax
jmp 0x10054140
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x10054140
mov eax, dword [ebp - 0xa8]
cmp eax, 0x38
je 0x10054140
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0xb0]
lea edx, [ebp - 0xc8]
push edx
mov edx, dword [ebp - 0x38]
push ecx
push edx
push eax
call fcn.100240f8
mov dword [ebp - 0x20], eax
add esp, 0x10
mov edx, eax
lea eax, [ebp - 0xc8]
mov dword [ebp - 0x9c], eax
test edx, edx
je 0x10054140
push 0
push 0x5f
call fcn.100149ac
add esp, 8
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax + 0x12f]
test al, 4
je 0x10054163
cmp edi, 1
je 0x10054779
mov edx, dword [ebp - 0x14]
and eax, 0xfffffffb
mov byte [edx + 0x12f], al
test al, 0x10
jne 0x100532e3
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x100]
mov dword [ebp - 0x34], edx
cmp edx, 7
je 0x10054371
mov edx, eax
mov ecx, dword [ebp - 0x38]
mov eax, dword [edx + 0x44]
mov edx, dword [edx + 0x3c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0xcc], edx
lea edx, [ecx + edx]
cmp eax, edx
jae 0x10055d2a
mov eax, dword [ebp - 0x34]
cmp eax, 0xb
je 0x100541b3
mov eax, dword [ebp - 0x14]
movsx edx, byte [eax + 0x11c]
jmp 0x100541c6
mov eax, dword [ebp - 0x14]
movsx edx, byte [eax + 0x11c]
cmp edx, 4
je 0x10055d16
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0xd4], edi
mov edi, eax
mov dword [ebp - 0x28], esi
cmp edx, 3
jne 0x10054260
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x44]
sub edx, ecx
add esi, 0xffffffff
not esi
and esi, edx
test eax, eax
mov eax, dword [ebp - 0x9c]
jne 0x10054201
mov esi, edx
push esi
push eax
push ecx
call fcn.1007f4d4
add esp, 0xc
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x10054906
mov ecx, dword [edi + 0x3c]
mov eax, dword [ebp - 0x18]
add dword [ebp - 0x9c], esi
add ecx, esi
mov dword [edi + 0x3c], ecx
push edi
sub eax, esi
mov dword [ebp - 0x18], eax
call fcn.1002d050
pop ecx
test eax, eax
jne 0x10054844
mov ecx, dword [edi + 0x40]
test ecx, ecx
je 0x10054828
xor edx, edx
mov byte [ecx + 2], dl
mov ecx, dword [edi + 0x40]
mov byte [ecx + 3], dl
mov ecx, dword [edi + 0x40]
add ecx, 4
mov dword [edi + 0x3c], ecx
jmp 0x1005432e
mov eax, dword [ebp - 0x18]
mov esi, dword [edi + 0xc0]
mov dword [ebp - 0xb8], esi
cmp eax, 0x200
jge 0x1005427b
mov eax, 0x200
shr esi, 3
cmp esi, eax
jge 0x10054284
mov esi, eax
mov eax, dword [ebp - 0x34]
cmp eax, 0xb
mov dword [ebp - 0x20], esi
jne 0x100542a8
cmp edx, 4
jne 0x100542a8
mov eax, dword [edi + 0x38]
sub eax, dword [ebp - 0x1c]
add eax, 0x20000
cmp esi, eax
jl 0x100542a5
mov esi, eax
mov dword [ebp - 0x20], esi
mov eax, esi
movzx esi, byte [edi + 0x12e]
add eax, 0xf
and eax, 0xfffffff0
test esi, 0x20
mov dword [ebp - 0x20], eax
je 0x10054acc
mov eax, dword [ebp - 0x34]
cmp eax, 0xb
jne 0x100542d7
cmp edx, 4
je 0x10054acc
mov eax, dword [ebp - 0x18]
mov esi, dword [edi + 0x38]
sub ecx, esi
push ecx
lea edx, [eax + ecx]
add dword [edi + 0xe0], edx
push esi
push edi
call fcn.1002ccf0
add esp, 0xc
cmp eax, 0xffffffff
je 0x10055c35
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x9c]
push eax
push edx
push edi
call fcn.1002ccf0
add esp, 0xc
cmp eax, 0xffffffff
je 0x10055c1f
xor eax, eax
test eax, eax
jne 0x10055b5d
mov ecx, dword [edi + 0x38]
mov dword [edi + 0x3c], ecx
xor edx, edx
mov dword [ebp - 0x18], edx
mov esi, dword [ebp - 0x18]
mov edx, dword [edi + 0x44]
mov dword [ebp - 0x1c], edx
lea esi, [ecx + esi]
cmp edx, esi
jae 0x10055b37
mov edx, dword [edi + 0x100]
mov dword [ebp - 0x34], edx
cmp edx, 0xb
je 0x1005435c
movsx edx, byte [edi + 0x11c]
jmp 0x100541d7
movsx edx, byte [edi + 0x11c]
cmp edx, 4
je 0x10054f68
jmp 0x100541d7
mov edx, dword [eax + 0x100]
cmp edx, 7
jne 0x100532e3
mov edx, dword [eax + 0x44]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0xd4], edi
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x28], esi
mov ecx, edx
sub ecx, eax
cmp ecx, 1
jle 0x100543a6
mov ecx, dword [edi + 0x10c]
jmp 0x100544c1
push edi
call fcn.1002d050
mov dword [ebp - 0x20], eax
add esp, 4
test eax, eax
jne 0x100546a3
and byte [edi + 0x130], 0xef
push 0
push edi
call fcn.1002b60c
add esp, 8
test eax, eax
jne 0x100545ce
movsx eax, byte [edi + 0x11c]
add eax, 0xffffffff
cmp eax, 6
ja case.default.0x100543ee
mov eax, dword [eax*4 + 0x100c01a0]
jmp eax
mov eax, dword [edi + 0x40]
test eax, eax
je 0x100543fc
mov dword [edi + 0x3c], eax
jmp 0x10054402
mov eax, dword [edi + 0x38]
mov dword [edi + 0x3c], eax
mov edx, dword [edi + 0xc0]
lea edx, [eax + edx - 1]
mov dword [edi + 0x44], edx
jmp 0x100544ab
mov edx, dword [edi + 0x40]
mov eax, 1
mov word [ebp - 0x138], ax
test edx, edx
je 0x10054589
mov eax, 1
mov byte [edx + 2], al
mov edx, dword [edi + 0x40]
mov byte [edx + 3], 0
mov eax, dword [edi + 0x40]
add eax, 4
mov dword [edi + 0x3c], eax
mov edx, eax
add edx, dword [edi + 0xc0]
mov dword [edi + 0x44], edx
jmp 0x100544ab
mov eax, dword [edi + 0x40]
test eax, eax
je 0x100545af
add eax, 4
mov dword [edi + 0x3c], eax
mov edx, dword [edi + 0xc0]
lea edx, [eax + edx - 8]
mov dword [edi + 0x44], edx
jmp 0x100544ab
mov eax, dword [edi + 0x40]
test eax, eax
je 0x1005447c
mov dword [edi + 0x3c], eax
jmp 0x10054482
mov eax, dword [edi + 0x38]
mov dword [edi + 0x3c], eax
mov edx, eax
add edx, dword [edi + 0xc0]
mov dword [edi + 0x44], edx
jmp 0x100544ab
push 0x9e1
push str.for_wseq.c
push 2
push 8
call fcn.100149ac
add esp, 0x10
mov edx, dword [edi + 0x44]
mov eax, dword [edi + 0x3c]
mov ecx, dword [edi + 0x10c]
mov esi, edx
sub esi, eax
cmp esi, ecx
jb 0x100544bb
mov esi, ecx
mov dword [edi + 0x110], esi
test ecx, ecx
jge 0x10054505
mov byte [edi + 0x125], 0x81
mov byte [eax], 0x81
mov eax, dword [edi + 0x3c]
movzx ecx, byte [edi + 0x125]
add eax, 1
mov dword [edi + 0x3c], eax
xor edx, edx
cmp ecx, 0x81
sete dl
sub ecx, edx
mov edx, dword [edi + 0x44]
mov dword [edi + 0x10c], ecx
mov esi, edx
sub esi, eax
cmp esi, ecx
jb 0x100544ff
mov esi, ecx
mov dword [edi + 0x110], esi
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x100545bd
test ecx, ecx
jne 0x10054538
movzx edx, byte [edi + 0x125]
mov dword [edi + 0x10c], 0xffffffff
mov byte [eax], dl
mov eax, dword [edi + 0x3c]
mov edx, dword [edi + 0x44]
add eax, 1
mov dword [edi + 0x3c], eax
jmp 0x10054392
mov ecx, esi
mov esi, dword [edi + 0x110]
cmp esi, ecx
jb 0x10054546
mov esi, ecx
test esi, esi
jbe 0x10054392
mov edx, dword [ebp - 0x9c]
push esi
push edx
push eax
call fcn.1007f4d4
add esp, 0xc
mov eax, dword [ebp - 0x18]
mov edx, dword [edi + 0x44]
add dword [ebp - 0x9c], esi
sub eax, esi
sub dword [edi + 0x110], esi
mov dword [ebp - 0x18], eax
mov eax, dword [edi + 0x3c]
add eax, esi
sub dword [edi + 0x10c], esi
mov dword [edi + 0x3c], eax
jmp 0x10054392
movzx edx, byte [ebp - 0x137]
mov esi, dword [edi + 0x38]
mov eax, 1
mov byte [esi + 2], al
mov ecx, dword [edi + 0x38]
mov byte [ecx + 3], dl
mov eax, dword [edi + 0x38]
add eax, 4
mov dword [edi + 0x3c], eax
jmp 0x10054443
mov eax, dword [edi + 0x38]
add eax, 4
mov dword [edi + 0x3c], eax
jmp 0x10054461
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x14], edi
mov edi, dword [ebp - 0xd4]
jmp 0x100532e3
mov edx, dword [edi + 0x18]
test edx, edx
je 0x1005467e
movzx eax, byte [edx + 0x3c]
test al, 2
je 0x10054616
mov eax, 0x26
mov dword [edx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov eax, dword [edi + 0x64]
test eax, eax
je 0x100545fe
xor edx, edx
mov dword [eax + 4], edx
mov dword [edi + 0x64], edx
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov eax, 0x26
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx ecx, byte [edi + 0x12b]
movzx esi, byte [edi + 0x12c]
mov edx, ecx
and edx, 0x40
xor eax, eax
test edx, edx
setne al
test ecx, 0x80
mov edx, 2
jne 0x10054642
mov edx, 0
test esi, 1
mov ecx, 4
jne 0x10054654
mov ecx, 0
or eax, edx
or eax, ecx
mov edx, 0x26
push edx
push edx
push eax
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
mov eax, 0x26
push eax
push eax
push 1
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x10054745
movzx edx, byte [ecx + 0x3c]
test dl, 2
je 0x100546e2
mov dword [ecx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x100546cf
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx ecx, byte [edi + 0x12b]
mov esi, ecx
and esi, 0x40
xor edx, edx
test esi, esi
setne dl
movzx esi, byte [edi + 0x12c]
test ecx, 0x80
mov ecx, 2
jne 0x10054710
mov ecx, 0
test esi, 1
mov esi, 4
jne 0x10054722
mov esi, 0
or edx, ecx
or edx, esi
push edx
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push eax
push eax
push 1
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, dword [ebp - 0x9c]
movzx edx, byte [eax]
mov byte [ebp - 0xc8], dl
jmp 0x100540e1
mov edx, dword [ebx + 0xc]
movsx ecx, byte [edx]
cmp ecx, 1
jne 0x10054157
mov edx, dword [ebp - 0x14]
movsx ecx, byte [edx + 0x11c]
and eax, 0xfffffffb
cmp ecx, 1
je 0x100547a5
mov byte [edx + 0x12f], al
jmp 0x10054163
movzx ecx, byte [edx + 0x12b]
mov dword [ebp - 0x1c], ecx
test cl, 4
je 0x100547d8
movzx ecx, byte [edx + 0x128]
test cl, 1
je 0x100547cc
movsx ecx, byte [edx + 0x11d]
cmp ecx, 2
je 0x1005479a
movzx ecx, byte [edx + 0x131]
test cl, 0x10
jne 0x1005479a
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x14]
cmp edx, dword [ecx + 0xc0]
jne 0x100547f6
add edx, dword [ecx + 0x3c]
cmp edx, dword [ecx + 0x44]
jbe 0x10054803
mov edx, dword [ebp - 0x1c]
test dl, 0x20
jne 0x100547f6
mov edx, ecx
mov byte [edx + 0x12f], al
jmp 0x10054163
mov edx, ecx
mov ecx, dword [ebp - 0x9c]
mov dword [edx + 0x80], ecx
mov ecx, dword [ebp - 0x38]
mov dword [edx + 0xfc], ecx
or eax, 0x10
mov byte [edx + 0x12f], al
jmp 0x10054163
mov ecx, dword [edi + 0x38]
xor edx, edx
mov byte [ecx + 2], dl
mov esi, dword [edi + 0x38]
mov byte [esi + 3], dl
mov ecx, dword [edi + 0x38]
add ecx, 4
mov dword [edi + 0x3c], ecx
jmp 0x1005432e
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x100548e6
movzx edx, byte [ecx + 0x3c]
test dl, 2
je 0x10054883
mov dword [ecx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x10054870
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx ecx, byte [edi + 0x12b]
mov esi, ecx
and esi, 0x40
xor edx, edx
test esi, esi
setne dl
movzx esi, byte [edi + 0x12c]
test ecx, 0x80
mov ecx, 2
jne 0x100548b1
mov ecx, 0
test esi, 1
mov esi, 4
jne 0x100548c3
mov esi, 0
or edx, ecx
or edx, esi
push edx
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push eax
push eax
push 1
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edx, dword [ebp - 0xa4]
mov ecx, dword [edi + 0x3c]
mov eax, esi
test esi, esi
jle 0x1005421a
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x14], edi
cmp edx, 2
je 0x10054ab4
cmp edx, 4
je 0x10054a6c
cmp edx, 8
jne 0x1005499d
mov esi, dword [ecx]
mov dword [ebp - 0x13c], edx
mov edx, dword [ecx + 4]
mov dword [ebp - 0x2c], eax
mov eax, edx
shr eax, 0x18
mov edi, edx
and edi, 0xff0000
shr edi, 8
or eax, edi
mov edi, edx
and edi, 0xff00
shl edi, 8
or eax, edi
shl edx, 0x18
or eax, edx
mov dword [ecx], eax
mov edx, esi
shr edx, 0x18
mov eax, esi
and eax, 0xff0000
shr eax, 8
or edx, eax
mov eax, esi
shl esi, 0x18
and eax, 0xff00
shl eax, 8
or edx, eax
or edx, esi
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x13c]
jmp 0x10054a9a
cmp edx, 0x10
jne 0x10054a9a
mov edi, dword [ecx]
mov esi, dword [ecx + 8]
mov dword [ebp - 0x13c], edx
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x2c], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0xd0], edi
mov edi, edx
mov dword [ebp - 0x34], eax
mov eax, edx
and edi, 0xff0000
shr eax, 0x18
shr edi, 8
or eax, edi
mov edi, edx
and edi, 0xff00
shl edi, 8
or eax, edi
shl edx, 0x18
or eax, edx
mov dword [ecx], eax
mov edx, esi
shr edx, 0x18
mov eax, esi
and eax, 0xff0000
shr eax, 8
or edx, eax
mov eax, esi
shl esi, 0x18
and eax, 0xff00
shl eax, 8
or edx, eax
or edx, esi
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x34]
mov esi, edx
shr esi, 0x18
mov eax, edx
and eax, 0xff0000
shr eax, 8
or esi, eax
mov eax, edx
shl edx, 0x18
and eax, 0xff00
shl eax, 8
or esi, eax
or esi, edx
mov edx, dword [ebp - 0xd0]
mov dword [ecx + 8], esi
mov esi, edx
shr esi, 0x18
mov eax, edx
and eax, 0xff0000
shr eax, 8
or esi, eax
mov eax, edx
shl edx, 0x18
and eax, 0xff00
shl eax, 8
or esi, eax
or esi, edx
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x13c]
mov dword [ecx + 0xc], esi
jmp 0x10054a9a
mov esi, dword [ecx]
mov dword [ebp - 0x2c], eax
mov eax, esi
shr eax, 0x18
mov edi, esi
and edi, 0xff0000
shr edi, 8
or eax, edi
mov edi, esi
shl esi, 0x18
and edi, 0xff00
shl edi, 8
or eax, edi
or eax, esi
mov dword [ecx], eax
mov eax, dword [ebp - 0x2c]
sub eax, edx
add ecx, edx
test eax, eax
jg 0x1005491f
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0x14]
mov ecx, dword [edi + 0x3c]
jmp 0x1005421a
movzx edi, word [ecx]
mov esi, edi
shr esi, 8
and edi, 0xff
shl edi, 8
or esi, edi
mov word [ecx], si
jmp 0x10054a9a
mov esi, dword [ebp - 0x20]
push esi
push edi
mov eax, dword [edi + 0xbc]
mov edx, dword [edi + 0xc4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0x2c], ecx
call fcn.10024784
add esp, 8
test eax, eax
je 0x10054be5
mov eax, dword [edi + 0x100]
cmp eax, 0xb
jne 0x10054b17
movsx eax, byte [edi + 0x11c]
cmp eax, 4
je 0x10054bed
movzx edx, byte [edi + 0x12b]
test dl, 0x20
je 0x10054e9d
movsx eax, byte [edi + 0x11c]
cmp eax, 1
je 0x10054e9d
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xd0]
mov esi, dword [ebp - 0x2c]
mov dword [edi + 0xbc], edx
mov edx, dword [edi + 0x3c]
sub edx, dword [edi + 0x38]
or byte [edi + 0x12e], 0x20
mov dword [edi + 0xc0], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], edx
mov dword [edi + 0xc4], ecx
mov dword [edi + 0x40], esi
lea edx, [eax + edx]
mov dword [edi + 0xe0], edx
mov eax, dword [ebx + 0xc]
movsx eax, byte [eax]
cmp eax, 1
je 0x10054e7b
mov eax, dword [edi + 0xb4]
call fcn.10055e24
mov dword [edi + 0xd8], eax
mov dword [edi + 0xdc], edx
mov eax, dword [ebp - 0x2c]
push eax
push dword [edi + 0x38]
push edi
call fcn.1002ccf0
add esp, 0xc
cmp eax, 0xffffffff
je 0x10054d9a
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x9c]
push eax
push edx
push edi
call fcn.1002ccf0
add esp, 0xc
cmp eax, 0xffffffff
je 0x10054d84
xor eax, eax
test eax, eax
jne 0x10054cc2
jmp 0x10054323
mov ecx, dword [edi + 0x3c]
jmp 0x1005432e
mov edx, dword [edi + 0x18]
test edx, edx
je 0x10054c9d
movzx eax, byte [edx + 0x3c]
test al, 2
je 0x10054c35
mov eax, 0x42
mov dword [edx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov eax, dword [edi + 0x64]
test eax, eax
je 0x10054c1d
xor edx, edx
mov dword [eax + 4], edx
mov dword [edi + 0x64], edx
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov eax, 0x42
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx ecx, byte [edi + 0x12b]
movzx esi, byte [edi + 0x12c]
mov edx, ecx
and edx, 0x40
xor eax, eax
test edx, edx
setne al
test ecx, 0x80
mov edx, 2
jne 0x10054c61
mov edx, 0
test esi, 1
mov ecx, 4
jne 0x10054c73
mov ecx, 0
or eax, edx
or eax, ecx
mov edx, 0x42
push edx
push edx
push eax
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
mov eax, 0x42
push eax
push eax
push 1
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x10054d64
movzx edx, byte [ecx + 0x3c]
test dl, 2
je 0x10054d01
mov dword [ecx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x10054cee
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx ecx, byte [edi + 0x12b]
mov esi, ecx
and esi, 0x40
xor edx, edx
test esi, esi
setne dl
movzx esi, byte [edi + 0x12c]
test ecx, 0x80
mov ecx, 2
jne 0x10054d2f
mov ecx, 0
test esi, 1
mov esi, 4
jne 0x10054d41
mov esi, 0
or edx, ecx
or edx, esi
push edx
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push eax
push eax
push 1
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + 0xb8], eax
mov eax, 0x26
jmp 0x10054bd8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [edi + 0x18]
mov dword [edi + 0xb8], eax
test edx, edx
je 0x10054e56
movzx eax, byte [edx + 0x3c]
test al, 2
je 0x10054dee
mov eax, 0x26
mov dword [edx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov eax, dword [edi + 0x64]
test eax, eax
je 0x10054dd6
xor edx, edx
mov dword [eax + 4], edx
mov dword [edi + 0x64], edx
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov eax, 0x26
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx ecx, byte [edi + 0x12b]
movzx esi, byte [edi + 0x12c]
mov edx, ecx
and edx, 0x40
xor eax, eax
test edx, edx
setne al
test ecx, 0x80
mov edx, 2
jne 0x10054e1a
mov edx, 0
test esi, 1
mov ecx, 4
jne 0x10054e2c
mov ecx, 0
or eax, edx
or eax, ecx
mov edx, 0x26
push edx
push edx
push eax
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
mov eax, 0x26
push eax
push eax
push 1
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, dword [ebp - 0xd4]
cmp eax, 1
jne 0x10054b89
mov eax, edi
call fcn.10055e68
or byte [edi + 0x12e], 0x40
jmp 0x10054ba0
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x10054f43
movzx eax, byte [ecx + 0x3c]
test al, 2
je 0x10054ee5
mov eax, 0x42
mov dword [ecx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov eax, dword [edi + 0x64]
test eax, eax
je 0x10054ecd
xor edx, edx
mov dword [eax + 4], edx
mov dword [edi + 0x64], edx
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov eax, 0x42
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, edx
and ecx, 0x40
mov esi, 2
xor eax, eax
test ecx, ecx
setne al
test edx, 0x80
movzx edx, byte [edi + 0x12c]
jne 0x10054f0a
mov esi, 0
test dl, 1
mov edx, 4
jne 0x10054f19
mov edx, 0
or eax, esi
or eax, edx
mov edx, 0x42
push edx
push edx
push eax
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
mov eax, 0x42
push eax
push eax
push 1
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov esi, dword [edi + 0x38]
neg esi
add esi, dword [ebp - 0x1c]
cmp esi, 0x20000
jb 0x100541d7
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], edi
mov edi, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x38]
cmp eax, 8
jne 0x10055007
mov eax, dword [ebp - 0xcc]
test al, 7
jne 0x10054fc8
mov eax, dword [ebp - 0xb0]
test al, 7
jne 0x10054fc8
xor eax, eax
mov dword [ebp - 0x2c], eax
mov ecx, 1
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xb8], ecx
jmp 0x10055049
mov eax, dword [ebp - 0xcc]
test al, 3
jne 0x10054ff4
mov eax, dword [ebp - 0xb0]
test al, 3
jne 0x10054ff4
xor eax, eax
mov dword [ebp - 0x2c], eax
mov ecx, 1
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xd0], ecx
jmp 0x10055049
xor eax, eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xd0], eax
jmp 0x10055049
cmp eax, 4
jne 0x10055038
mov eax, dword [ebp - 0xcc]
test al, 3
jne 0x10054ff4
mov eax, dword [ebp - 0xb0]
test al, 3
jne 0x10054ff4
xor eax, eax
mov dword [ebp - 0x2c], eax
mov ecx, 1
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xd0], ecx
jmp 0x10055049
xor eax, eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x34]
cmp eax, 0xb
jne 0x10055064
mov eax, dword [ebp - 0x14]
movsx edx, byte [eax + 0x11c]
cmp edx, 4
je 0x100550f3
mov eax, dword [ebp - 0x18]
cmp eax, 4
jne 0x10055092
mov eax, dword [ebp - 0xd0]
test eax, eax
je 0x1005591c
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xcc]
mov edx, dword [eax]
mov eax, dword [ebp - 0x14]
mov dword [ecx], edx
mov ecx, dword [eax + 0x3c]
jmp 0x100550e3
cmp eax, 8
jne 0x100550c3
mov eax, dword [ebp - 0xb8]
test eax, eax
je 0x1005591c
mov edx, dword [ebp - 0x9c]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [ebp - 0xcc]
mov dword [edx], eax
mov eax, dword [ebp - 0x14]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 0x3c]
jmp 0x100550e3
cmp eax, 1
jne 0x1005591c
mov edx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xcc]
movzx eax, byte [edx]
mov byte [ecx], al
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x3c]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
add eax, ecx
mov dword [edx + 0x3c], eax
jmp 0x100532e3
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0xcc]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov dword [edx + 0x110], eax
test ecx, ecx
jle 0x100532e3
mov dword [ebp - 0xd4], edi
mov edi, dword [ebp - 0xcc]
mov dword [ebp - 0x28], esi
mov esi, ecx
test eax, eax
jle 0x1005513b
cmp esi, 0x20000
jae 0x1005513b
mov edx, dword [ebp - 0x44]
test edx, edx
je 0x10055278
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x40]
test ecx, ecx
je 0x10055170
push 0
push dword [eax + 0x38]
sub edi, ecx
mov dword [ebp - 0x13c], ecx
push eax
call fcn.1002ccf0
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x20], eax
add esp, 0xc
test edi, edi
je 0x100551b4
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x38]
jmp 0x10055179
mov edx, dword [eax + 0x38]
sub edi, edx
je 0x100551b4
xor ecx, ecx
mov dword [eax + 0x3c], edx
test ecx, ecx
je 0x10055515
mov eax, dword [ebx + 0xc]
movsx eax, byte [eax]
mov dword [esp + 0xc], eax
mov edx, ecx
mov ecx, edi
mov eax, dword [ebp - 0x14]
call fcn.10055fc0
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x10055450
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x44]
sub eax, dword [edx + 0x3c]
mov dword [edx + 0x110], eax
cmp esi, 0x20000
jb 0x100551ef
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x1005520c
mov edi, dword [ebx + 0xc]
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x9c]
movsx ecx, byte [edi]
mov dword [esp + 0xc], ecx
mov ecx, esi
call fcn.10055fc0
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x1005552e
xor esi, esi
jmp 0x100551f6
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x1005520c
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 0x3c]
mov eax, dword [eax + 0x110]
mov edx, 1
mov dword [ebp - 0x2c], edx
jmp 0x10055278
mov eax, dword [ebp - 0x9c]
mov edi, dword [ebp - 0xa4]
mov dword [ebp - 0x148], 0
add edi, 0xffffffff
mov dword [ebp - 0x2c], eax
mov eax, esi
cmp esi, 0x6400000
mov dword [ebp - 0x18], esi
jle 0x1005523a
mov eax, 0x6400000
not edi
mov esi, eax
lea edx, [ebp - 0x148]
push edx
push 0
push esi
call fcn.1004970c
add esp, 0xc
test eax, eax
je 0x10055269
mov dword [ebp - 0x148], 0
sar esi, 1
and esi, edi
jne 0x1005523e
jmp 0x100555f3
mov edx, dword [ebp - 0x148]
test edx, edx
je 0x1005523e
jmp 0x100556b8
cmp eax, esi
mov edx, eax
jb 0x10055280
mov edx, esi
mov dword [ebp - 0x34], edx
cmp edx, 8
ja case.0x10055293.3
mov ecx, dword [edx*4 + 0x100c017c]
jmp ecx
mov eax, dword [ebp - 0xb8]
test eax, eax
je 0x100552c0
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x14]
mov dword [edi], edx
mov dword [edi + 4], ecx
mov edi, dword [eax + 0x3c]
mov eax, dword [eax + 0x110]
jmp case.0x10055293.0
mov eax, dword [ebp - 0xd0]
test eax, eax
je 0x100552ee
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x14]
mov ecx, dword [eax]
mov dword [edi], ecx
mov ecx, dword [edx + 0x3c]
mov edi, dword [eax + 4]
mov dword [ecx + 4], edi
mov edi, dword [edx + 0x3c]
mov eax, dword [edx + 0x110]
jmp case.0x10055293.0
mov eax, dword [ebp - 0x9c]
movzx eax, byte [eax]
mov byte [edi], al
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x3c]
mov edi, dword [ebp - 0x9c]
movzx edx, byte [edi + 1]
mov byte [ecx + 1], dl
mov edx, edi
mov ecx, dword [eax + 0x3c]
movzx edx, byte [edx + 2]
mov byte [ecx + 2], dl
mov edx, edi
mov ecx, dword [eax + 0x3c]
movzx edx, byte [edx + 3]
mov byte [ecx + 3], dl
mov ecx, dword [eax + 0x3c]
mov edx, edi
movzx edx, byte [edx + 4]
mov byte [ecx + 4], dl
mov edx, edi
mov ecx, dword [eax + 0x3c]
movzx edx, byte [edx + 5]
mov byte [ecx + 5], dl
mov edx, edi
mov edi, dword [eax + 0x3c]
movzx ecx, byte [edx + 6]
mov byte [edi + 6], cl
mov ecx, dword [eax + 0x3c]
movzx edx, byte [edx + 7]
mov byte [ecx + 7], dl
mov edi, dword [eax + 0x3c]
mov eax, dword [eax + 0x110]
jmp case.0x10055293.0
mov eax, dword [ebp - 0xd0]
test eax, eax
je 0x10055385
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x14]
mov edx, dword [eax]
mov dword [edi], edx
mov edi, dword [ecx + 0x3c]
mov eax, dword [ecx + 0x110]
jmp case.0x10055293.0
mov eax, dword [ebp - 0x9c]
movzx eax, byte [eax]
mov byte [edi], al
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x3c]
mov edi, dword [ebp - 0x9c]
movzx edx, byte [edi + 1]
mov byte [ecx + 1], dl
mov edx, edi
mov edi, dword [eax + 0x3c]
movzx ecx, byte [edx + 2]
mov byte [edi + 2], cl
mov ecx, dword [eax + 0x3c]
movzx edx, byte [edx + 3]
mov byte [ecx + 3], dl
mov edi, dword [eax + 0x3c]
mov eax, dword [eax + 0x110]
jmp case.0x10055293.0
mov edx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x14]
movzx eax, byte [edx]
mov byte [edi], al
mov edi, dword [ecx + 0x3c]
movzx eax, byte [edx + 1]
mov byte [edi + 1], al
mov edi, dword [ecx + 0x3c]
mov eax, dword [ecx + 0x110]
jmp case.0x10055293.0
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x14]
movzx edx, byte [eax]
mov byte [edi], dl
mov edi, dword [ecx + 0x3c]
mov eax, dword [ecx + 0x110]
jmp case.0x10055293.0
mov eax, edx
mov edx, dword [ebp - 0x9c]
push eax
push edx
push edi
call fcn.1007f4d4
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 0x3c]
mov eax, dword [eax + 0x110]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x14]
add dword [ebp - 0x9c], ecx
sub esi, ecx
sub eax, ecx
mov dword [edx + 0x110], eax
add edi, ecx
mov dword [edx + 0x3c], edi
test esi, esi
jg 0x10055124
mov edi, dword [ebp - 0xd4]
mov esi, dword [ebp - 0x28]
jmp 0x100532e3
mov edi, dword [ebp - 0x14]
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x100554f5
movzx edx, byte [ecx + 0x3c]
test dl, 2
je 0x10055492
mov dword [ecx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x1005547f
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx ecx, byte [edi + 0x12b]
mov esi, ecx
and esi, 0x40
xor edx, edx
test esi, esi
setne dl
movzx esi, byte [edi + 0x12c]
test ecx, 0x80
mov ecx, 2
jne 0x100554c0
mov ecx, 0
test esi, 1
mov esi, 4
jne 0x100554d2
mov esi, 0
or edx, ecx
or edx, esi
push edx
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push eax
push eax
push 1
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, dword [ebx + 0xc]
movsx eax, byte [eax]
mov dword [esp + 0xc], eax
mov ecx, edi
mov eax, dword [ebp - 0x14]
call fcn.10055fc0
jmp 0x1005519a
mov edi, dword [ebp - 0x14]
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x100555d3
movzx edx, byte [ecx + 0x3c]
test dl, 2
je 0x10055570
mov dword [ecx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x1005555d
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx ecx, byte [edi + 0x12b]
mov esi, ecx
and esi, 0x40
xor edx, edx
test esi, esi
setne dl
movzx esi, byte [edi + 0x12c]
test ecx, 0x80
mov ecx, 2
jne 0x1005559e
mov ecx, 0
test esi, 1
mov esi, 4
jne 0x100555b0
mov esi, 0
or edx, ecx
or edx, esi
push edx
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push eax
push eax
push 1
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edi, dword [ebp - 0x14]
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x10055698
movzx edx, byte [ecx + 0x3c]
test dl, 2
je 0x10055635
mov dword [ecx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x10055622
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx ecx, byte [edi + 0x12b]
mov esi, ecx
and esi, 0x40
xor edx, edx
test esi, esi
setne dl
movzx esi, byte [edi + 0x12c]
test ecx, 0x80
mov ecx, 2
jne 0x10055663
mov ecx, 0
test esi, 1
mov esi, 4
jne 0x10055675
mov esi, 0
or edx, ecx
or edx, esi
push edx
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push eax
push eax
push 1
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, esi
mov esi, dword [ebp - 0x18]
test esi, esi
jle 0x100558f0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x18], esi
xor edi, edi
jmp 0x100556d5
mov edx, dword [ebp - 0x148]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0xa4]
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x13c], ecx
mov ecx, dword [ebp - 0x34]
sub esi, edi
cmp ecx, esi
jge 0x100556f2
mov esi, ecx
mov dword [ebp - 0x1c], esi
test esi, esi
jle 0x100558bf
mov dword [ebp - 0x20], esi
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0xcc], edi
cmp esi, 2
je 0x10055904
cmp esi, 4
je 0x1005586b
cmp esi, 8
jne 0x10055790
mov ecx, dword [eax + 4]
mov dword [ebp - 0x158], eax
mov edi, ecx
mov dword [ebp - 0x13c], esi
mov esi, dword [eax]
mov eax, ecx
and edi, 0xff0000
shr eax, 0x18
shr edi, 8
or eax, edi
mov edi, ecx
shl ecx, 0x18
and edi, 0xff00
shl edi, 8
or eax, edi
or eax, ecx
mov dword [edx], eax
mov ecx, esi
shr ecx, 0x18
mov eax, esi
and eax, 0xff0000
shr eax, 8
or ecx, eax
mov eax, esi
and eax, 0xff00
shl eax, 8
or ecx, eax
shl esi, 0x18
or ecx, esi
mov esi, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x158]
mov dword [edx + 4], ecx
jmp 0x1005589f
cmp esi, 0x10
jne 0x1005589f
mov edi, dword [eax]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x13c], esi
mov esi, dword [eax + 8]
mov dword [ebp - 0x144], edi
mov dword [ebp - 0x140], ecx
mov ecx, dword [eax + 0xc]
mov eax, ecx
shr eax, 0x18
mov edi, ecx
and edi, 0xff0000
shr edi, 8
or eax, edi
mov edi, ecx
shl ecx, 0x18
and edi, 0xff00
shl edi, 8
or eax, edi
or eax, ecx
mov dword [edx], eax
mov ecx, esi
shr ecx, 0x18
mov eax, esi
and eax, 0xff0000
shr eax, 8
or ecx, eax
mov eax, esi
and eax, 0xff00
shl eax, 8
or ecx, eax
shl esi, 0x18
or ecx, esi
mov dword [edx + 4], ecx
mov ecx, dword [ebp - 0x140]
mov esi, ecx
shr esi, 0x18
mov eax, ecx
and eax, 0xff0000
shr eax, 8
or esi, eax
mov eax, ecx
shl ecx, 0x18
and eax, 0xff00
shl eax, 8
or esi, eax
or esi, ecx
mov ecx, dword [ebp - 0x144]
mov dword [edx + 8], esi
mov esi, ecx
shr esi, 0x18
mov eax, ecx
and eax, 0xff0000
shr eax, 8
or esi, eax
mov eax, ecx
shl ecx, 0x18
and eax, 0xff00
shl eax, 8
or esi, eax
or esi, ecx
mov eax, dword [ebp - 0x158]
mov dword [edx + 0xc], esi
mov esi, dword [ebp - 0x13c]
jmp 0x1005589f
mov dword [ebp - 0x13c], esi
mov esi, dword [eax]
mov ecx, esi
shr ecx, 0x18
mov edi, esi
and edi, 0xff0000
shr edi, 8
or ecx, edi
mov edi, esi
shl esi, 0x18
and edi, 0xff00
shl edi, 8
or ecx, edi
or ecx, esi
mov esi, dword [ebp - 0x13c]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x20]
sub ecx, esi
mov dword [ebp - 0x20], ecx
add edx, esi
add eax, esi
test ecx, ecx
jg 0x1005570c
mov edi, dword [ebp - 0xcc]
mov edx, dword [ebp - 0x148]
mov esi, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x1c]
movsx eax, byte [esi]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x14]
call fcn.10055fc0
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
add dword [ebp - 0x2c], edx
add edi, edx
cmp edi, ecx
jl 0x100556cf
mov edx, dword [ebp - 0x148]
mov dword [ebp - 0x20], eax
test edx, edx
je 0x100551e0
push edx
call fcn.10049680
pop ecx
jmp 0x100551e0
movzx edi, word [eax]
mov ecx, edi
shr ecx, 8
and edi, 0xff
shl edi, 8
or ecx, edi
mov word [edx], cx
jmp 0x1005589f
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xcc]
push eax
push edx
push ecx
call fcn.1007f4d4
add esp, 0xc
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x10055b2c
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov ecx, dword [edx + 0x3c]
mov edx, dword [ebp - 0xa4]
test eax, eax
jle 0x100550e3
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0x28], esi
cmp edx, 2
je 0x10055b14
cmp edx, 4
je 0x10055ac0
cmp edx, 8
jne 0x100559e5
mov esi, dword [ecx]
mov dword [ebp - 0x140], edx
mov edx, dword [ecx + 4]
mov dword [ebp - 0x144], eax
mov eax, edx
shr eax, 0x18
mov edi, edx
and edi, 0xff0000
shr edi, 8
or eax, edi
mov edi, edx
and edi, 0xff00
shl edi, 8
or eax, edi
shl edx, 0x18
or eax, edx
mov dword [ecx], eax
mov edx, esi
shr edx, 0x18
mov eax, esi
and eax, 0xff0000
shr eax, 8
or edx, eax
mov eax, esi
shl esi, 0x18
and eax, 0xff00
shl eax, 8
or edx, eax
or edx, esi
mov eax, dword [ebp - 0x144]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x140]
jmp 0x10055af4
cmp edx, 0x10
jne 0x10055af4
mov edi, dword [ecx]
mov esi, dword [ecx + 8]
mov dword [ebp - 0x140], edx
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x144], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x158], edi
mov edi, edx
mov dword [ebp - 0x13c], eax
mov eax, edx
and edi, 0xff0000
shr eax, 0x18
shr edi, 8
or eax, edi
mov edi, edx
and edi, 0xff00
shl edi, 8
or eax, edi
shl edx, 0x18
or eax, edx
mov dword [ecx], eax
mov edx, esi
shr edx, 0x18
mov eax, esi
and eax, 0xff0000
shr eax, 8
or edx, eax
mov eax, esi
shl esi, 0x18
and eax, 0xff00
shl eax, 8
or edx, eax
or edx, esi
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x13c]
mov esi, edx
shr esi, 0x18
mov eax, edx
and eax, 0xff0000
shr eax, 8
or esi, eax
mov eax, edx
shl edx, 0x18
and eax, 0xff00
shl eax, 8
or esi, eax
or esi, edx
mov edx, dword [ebp - 0x158]
mov dword [ecx + 8], esi
mov esi, edx
shr esi, 0x18
mov eax, edx
and eax, 0xff0000
shr eax, 8
or esi, eax
mov eax, edx
shl edx, 0x18
and eax, 0xff00
shl eax, 8
or esi, eax
or esi, edx
mov eax, dword [ebp - 0x144]
mov edx, dword [ebp - 0x140]
mov dword [ecx + 0xc], esi
jmp 0x10055af4
mov esi, dword [ecx]
mov dword [ebp - 0x144], eax
mov eax, esi
shr eax, 0x18
mov edi, esi
and edi, 0xff0000
shr edi, 8
or eax, edi
mov edi, esi
shl esi, 0x18
and edi, 0xff00
shl edi, 8
or eax, edi
or eax, esi
mov dword [ecx], eax
mov eax, dword [ebp - 0x144]
sub eax, edx
add ecx, edx
test eax, eax
jg 0x10055961
mov edi, dword [ebp - 0xd4]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x3c]
jmp 0x100550e3
movzx edi, word [ecx]
mov esi, edi
shr esi, 8
and edi, 0xff
shl edi, 8
or esi, edi
mov word [ecx], si
jmp 0x10055af4
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x3c]
jmp 0x100550e3
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], edi
mov edi, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x100]
mov dword [ebp - 0x34], edx
jmp 0x10054f91
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x10055bff
movzx edx, byte [ecx + 0x3c]
test dl, 2
je 0x10055b9c
mov dword [ecx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x10055b89
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx ecx, byte [edi + 0x12b]
mov esi, ecx
and esi, 0x40
xor edx, edx
test esi, esi
setne dl
movzx esi, byte [edi + 0x12c]
test ecx, 0x80
mov ecx, 2
jne 0x10055bca
mov ecx, 0
test esi, 1
mov esi, 4
jne 0x10055bdc
mov esi, 0
or edx, ecx
or edx, esi
push edx
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push eax
push eax
push 1
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + 0xb8], eax
mov eax, 0x26
jmp 0x1005431b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [edi + 0x18]
mov dword [edi + 0xb8], eax
test edx, edx
je 0x10055cf1
movzx eax, byte [edx + 0x3c]
test al, 2
je 0x10055c89
mov eax, 0x26
mov dword [edx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov eax, dword [edi + 0x64]
test eax, eax
je 0x10055c71
xor edx, edx
mov dword [eax + 4], edx
mov dword [edi + 0x64], edx
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov eax, 0x26
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx ecx, byte [edi + 0x12b]
movzx esi, byte [edi + 0x12c]
mov edx, ecx
and edx, 0x40
xor eax, eax
test edx, edx
setne al
test ecx, 0x80
mov edx, 2
jne 0x10055cb5
mov edx, 0
test esi, 1
mov ecx, 4
jne 0x10055cc7
mov ecx, 0
or eax, edx
or eax, ecx
mov edx, 0x26
push edx
push edx
push eax
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
mov eax, 0x26
push eax
push eax
push 1
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [eax + 0x38]
neg ecx
add ecx, dword [ebp - 0x1c]
cmp ecx, 0x20000
jb 0x100541c6
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x10054f91
jmp 0x10055049
mov eax, 1
mov dword [ebp - 0xb4], eax
jmp 0x10053294
mov edi, dword [ebp - 0x14]
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x10055def
movzx edx, byte [ecx + 0x3c]
test dl, 2
je 0x10055d8c
mov dword [ecx + 0x30], eax
mov edx, dword [edi + 0x18]
mov dword [edx + 0x34], eax
mov edx, dword [edi + 0x64]
test edx, edx
je 0x10055d79
xor ecx, ecx
mov dword [edx + 4], ecx
mov dword [edi + 0x64], ecx
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
push eax
movzx ecx, byte [edi + 0x12b]
mov esi, ecx
and esi, 0x40
xor edx, edx
test esi, esi
setne dl
movzx esi, byte [edi + 0x12c]
test ecx, 0x80
mov ecx, 2
jne 0x10055dba
mov ecx, 0
test esi, 1
mov esi, 4
jne 0x10055dcc
mov esi, 0
or edx, ecx
or edx, esi
push edx
push 0xffffffffffffffff
push edi
call fcn.10077ea0
add esp, 0x14
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push eax
push eax
push 1
call fcn.10014254
add esp, 0x10
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0x14c]
xor eax, eax
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret