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

Disassembly:
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x70
ret 0x18
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x2c]
mov ax, word [eax]
mov edx, dword [esi + 8]
mov dword [esp + 0x64], eax
and eax, 0xffff
mov dword [esp + 0x18], edx
mov ebx, dword [edx + eax*4]
mov ax, bx
mov dword [esp + 0x1c], ebx
shr ax, 8
cmp al, 0xb
mov word [esp + 0x12], ax
mov byte [esp + 0x68], al
ja 0x1010ce0
mov edx, dword [esp + 0x68]
and edx, 0xff
lea esi, [edx - 1]
cmp esi, 0xa
ja 0x1010f4a
xor edx, edx
mov dl, byte [esi + 0x5fc52ba0]
jmp dword [edx*4 + 0x5fc52b88]
mov edx, dword [esi + 0x10]
test edx, edx
jne 0x10122b5
mov byte [ecx], al
mov ax, word [esp + 0x1e]
inc ecx
mov edx, dword [esp + 0x90]
mov byte [ecx], bl
mov bl, byte [esp + 0x84]
mov byte [ebp], al
mov al, ah
and al, bl
mov ebx, dword [esp + 0x14]
and al, 0x3f
inc ecx
mov byte [edi], al
mov eax, dword [esp + 0x20]
inc ebp
inc edi
add ebx, 2
inc eax
cmp eax, edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], eax
jg 0x1010d60
mov eax, ebx
xor edx, edx
mov dx, word [eax]
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 8]
mov ebx, dword [eax + edx*4]
mov ax, bx
mov dword [esp + 0x1c], ebx
shr ax, 8
cmp al, 0xb
ja 0x1010ceb
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x90]
cmp edx, eax
jle 0x1010c85
mov esi, dword [esp + 0x98]
xor ebx, ebx
test esi, esi
jne 0x1011216
mov edx, dword [esp + 0x88]
mov dword [esp + 0x98], esi
mov eax, edx
mov dword [esp + 0x70], esi
and eax, 0x1000000
mov dword [esp + 0x74], esi
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x90], esi
je 0x1011122
cmp ecx, eax
jne 0x101110c
mov ecx, edx
inc ebx
and ecx, 2
jne 0x1010de7
mov eax, dword [esp + 0x2c]
dec ebp
mov esi, dword [eax + 0xc]
mov eax, dword [esp + 0x3c]
cmp esi, 1
je 0x101112b
cmp ebp, eax
jb 0x1010de2
cmp byte [ebp], 2
ja 0x1010de2
dec ebp
cmp ebp, eax
jae 0x1010dd7
sub ebp, eax
inc ebp
mov esi, ebp
and edx, 0x20001
lea ebx, [ebx + esi + 1]
cmp edx, 0x20001
jne 0x10126ea
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x24]
lea ebx, [ebx + edx + 1]
mov edx, dword [esp + 0x38]
cmp edx, eax
jb 0x1011147
mov eax, dword [esp + 0x54]
inc ebx
test eax, eax
jne 0x1010e32
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x58]
sub eax, ecx
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
test ecx, ecx
lea ebx, [ebx + eax + 1]
je 0x10116f5
test eax, eax
jne 0x10116f5
mov eax, dword [esp + 0x70]
dec ebx
test eax, eax
jne 0x1011204
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
add edx, 2
inc eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], eax
jmp 0x1010d4d
cmp eax, ecx
je 0x1011116
mov dl, byte [eax]
inc eax
test dl, dl
je 0x1011108
inc ebx
jmp 0x1011108
mov edx, dword [esp + 0x88]
jmp 0x1010db6
sub ecx, eax
mov ebx, ecx
jmp 0x1010db6
cmp eax, ebp
ja 0x1010de2
cmp byte [eax], 2
ja 0x1010de2
inc eax
cmp eax, ebp
ja 0x1010de2
jmp 0x1011133
test ecx, ecx
jne 0x101270c
xor eax, eax
mov edx, dword [esp + 0x24]
dec edx
cmp eax, 4
mov dword [esp + 0x24], edx
jge 0x1010e18
lea ecx, [eax + 0x5fc86fe8]
lea edi, [esp + eax*4 + 0x70]
mov dword [esp + 0x88], ecx
mov ecx, eax
imul eax, dword [esp + 0x34]
add eax, edx
shl ecx, 4
mov esi, eax
mov eax, dword [esp + 0x38]
add ecx, 0x5fc87004
sub eax, edx
mov dword [esp + 0x8c], eax
jmp 0x10111c7
sub eax, ebp
inc eax
mov edx, dword [esp + 0x34]
mov dword [edi], eax
lea ebx, [ebx + eax + 1]
mov eax, dword [esp + 0x88]
add esi, edx
add ecx, 0x10
inc eax
add edi, 4
cmp ecx, 0x5fc87044
mov dword [esp + 0x88], eax
jge 0x1010e18
mov edx, dword [esp + 0x8c]
mov eax, esi
lea ebp, [edx + esi]
cmp esi, ebp
jb 0x10111e9
mov edx, dword [esp + 0x88]
mov dl, byte [edx]
cmp byte [eax], dl
jne 0x10111e9
dec eax
cmp eax, ebp
jae 0x10111e0
mov edx, dword [esp + 0x94]
test edx, edx
je 0x1011197
mov edx, dword [ecx]
sub eax, ebp
lea eax, [eax + edx + 1]
lea ebp, [edx + 1]
cdq
idiv ebp
jmp 0x101119a
mov ecx, dword [esp + 0x7c]
dec ebx
test ecx, ecx
jne 0x10116f5
jmp 0x1012719
test dword [esp + 0x88], 0x80000000
jne 0x1012762
xor eax, eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x30]
sub ecx, eax
mov eax, dword [esp + 0x94]
mov edx, ecx
je 0x101127f
test dword [esp + 0x88], 0x1000000
jne 0x101139f
cmp esi, edx
jl 0x101144c
mov esi, dword [esp + 0x30]
mov ecx, edx
mov ebx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x28]
sub byte [ebx + 0x9824b4], cl
add byte [eax], al
dec esi
cmp ebx, esi
jge 0x101144c
mov ecx, dword [esp + 0x88]
mov byte [ebx + eax], 1
inc ebx
and ecx, 2
mov dword [esp + 0x90], ecx
jne 0x10112c9
mov edx, dword [esp + 0x2c]
dec ebp
mov ecx, dword [edx + 0xc]
test ecx, ecx
jne 0x10113b7
mov esi, dword [esp + 0x3c]
mov edx, ebp
sub edx, esi
inc edx
je 0x10112c9
cmp byte [ebp], 2
ja 0x1011401
dec ebp
dec edx
jne 0x10112bb
mov ecx, dword [esp + 0x98]
cmp ebx, ecx
jge 0x10127bc
mov byte [ebx + eax], 1
inc ebx
cmp ebx, ecx
jge 0x10112ec
mov dword [esp + 0x8c], 1
mov edx, dword [esp + 0x88]
and edx, 0x20001
cmp edx, 0x20001
jne 0x10127d2
cmp ebx, ecx
jge 0x101143b
mov byte [ebx + eax], 1
inc ebx
cmp ebx, ecx
jge 0x101131d
inc dword [esp + 0x8c]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x38]
cmp edx, ecx
jb 0x101145a
mov ecx, dword [esp + 0x98]
cmp ebx, ecx
jge 0x101168b
mov esi, dword [esp + 0x8c]
mov byte [ebx + eax], 1
inc ebx
cmp ebx, ecx
jge 0x1011354
inc esi
mov dword [esp + 0x8c], esi
mov edx, dword [esp + 0x54]
test edx, edx
jne 0x101136c
mov edx, dword [esp + 0x48]
mov edi, dword [esp + 0x58]
sub edx, edi
jne 0x10116a8
cmp ebx, ecx
jl 0x10116df
test dword [esp + 0x88], 0x1000000
je 0x101144c
mov byte [eax + ecx - 1], 0
jmp 0x10116e4
mov ecx, dword [esp + 0x30]
inc ecx
dec edx
mov dword [esp + 0x30], ecx
je 0x101127f
mov ecx, dword [esp + 0x30]
mov cl, byte [ecx]
test cl, cl
je 0x101138f
cmp ebx, esi
jg 0x101144c
mov byte [ebx + eax], cl
inc ebx
jmp 0x101138f
mov esi, dword [esp + 0x3c]
cmp esi, ebp
ja 0x10112c9
cmp byte [esi], 2
ja 0x10113d3
inc esi
cmp esi, ebp
ja 0x10112c9
jmp 0x10113c3
cmp ebp, esi
jb 0x10112c9
mov edx, dword [esp + 0x98]
mov ecx, ebp
sub ecx, esi
sub edx, ebx
add ecx, 2
cmp edx, ecx
jl 0x101144c
mov cl, byte [ebp]
mov byte [ebx + eax], cl
inc ebx
dec ebp
cmp ebp, esi
jb 0x10112c9
jmp 0x10113ef
test edx, edx
je 0x10112c9
mov ecx, dword [esp + 0x98]
lea esi, [edx + 1]
sub ecx, ebx
cmp ecx, esi
jl 0x101144c
mov esi, dword [esp + 0x3c]
mov ecx, edx
mov ebp, ecx
lea edi, [ebx + eax]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
and ecx, 3
add ebx, edx
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x28]
jmp 0x10112c9
test dword [esp + 0x88], 0x1000000
jne 0x101131d
mov ecx, dword [esp + 0x60]
call fcn.01011773
jmp 0x1010b77
mov ecx, dword [esp + 0x90]
test ecx, ecx
jne 0x101282c
mov dword [esp + 0x84], 0
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x84]
dec edx
cmp ecx, 4
mov dword [esp + 0x24], edx
jge 0x101132d
sub edx, dword [esp + 0x38]
inc edx
mov dword [esp + 0x5c], edx
jmp 0x1011604
test ebp, ebp
je 0x1011636
test dword [esp + 0x88], 0x1000000
je 0x10115b7
mov edi, dword [esp + 0x84]
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x98]
add eax, edx
shl edi, 4
dec ebp
mov dword [esp + 0x50], eax
mov ecx, dword [edi + 0x5fc87004]
mov byte [esp + 0x90], 0x80
mov dword [esp + 0x3c], ecx
sub esi, ebx
jmp 0x1011526
mov al, dl
and dl, 1
shr al, 1
or dl, al
jmp 0x101153d
cmp esi, 2
jl 0x101144c
mov ecx, dword [esp + 0x94]
mov dl, byte [esp + 0x90]
mov byte [esp + 0x90], 0x80
mov byte [ebx + ecx], dl
mov eax, dword [edi + 0x5fc87004]
inc ebx
dec esi
mov ecx, ebp
dec ebp
test ecx, ecx
mov dword [esp + 0x3c], eax
je 0x101157e
mov eax, dword [esp + 0x50]
mov dl, byte [eax]
inc eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x84]
cmp eax, 1
je 0x10114e6
mov al, byte [esp + 0x3c]
mov cl, byte [edi + 0x5fc86ff8]
imul byte [edi + 0x5fc87000]
and dl, cl
mov cl, byte [edi + 0x5fc86ffc]
shr dl, cl
mov cl, al
mov eax, dword [esp + 0x3c]
shl dl, cl
mov cl, byte [esp + 0x90]
or cl, dl
test eax, eax
ror byte [eax + 0x90248c], 0
add byte [edi], cl
test byte [edx - 1], bh
invalid
invalid
mov eax, dword [esp + 0x3c]
dec eax
jmp 0x101151b
mov edx, eax
mov eax, dword [edi + 0x5fc87004]
cmp edx, eax
je 0x1011636
mov eax, dword [esp + 0x98]
sub eax, ebx
cmp eax, 2
jl 0x101144c
mov edx, dword [esp + 0x94]
mov cl, byte [esp + 0x90]
mov byte [ebx + edx], cl
inc ebx
jmp 0x1011636
mov ecx, dword [esp + 0x98]
lea edx, [ebp + 1]
sub ecx, ebx
cmp ecx, edx
jl 0x101144c
mov edx, dword [esp + 0x38]
mov ecx, ebp
lea esi, [eax + edx]
mov eax, dword [esp + 0x94]
mov edx, ecx
lea edi, [ebx + eax]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
add ebx, ebp
rep movsb byte es:[edi], byte [esi]
jmp 0x1011636
mov eax, dword [esp + 0x84]
inc eax
cmp eax, 4
mov dword [esp + 0x84], eax
jge 0x101167f
mov ebp, dword [esp + 0x5c]
test ebp, ebp
je 0x1011636
mov eax, dword [esp + 0x84]
mov esi, ebp
mov cl, byte [eax + 0x5fc86fe8]
imul eax, dword [esp + 0x34]
mov edx, eax
sub edx, esi
mov esi, dword [esp + 0x24]
add edx, esi
cmp byte [edx + ebp], cl
jne 0x101149b
dec ebp
jne 0x101162a
mov eax, dword [esp + 0x98]
cmp ebx, eax
jge 0x10128c1
mov ecx, dword [esp + 0x84]
inc ebx
cmp ebx, eax
mov dl, byte [ecx + 0x5fc86fec]
mov ecx, dword [esp + 0x94]
mov byte [ebx + ecx - 1], dl
jge 0x10115f0
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x44]
inc ecx
inc eax
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x44], eax
jmp 0x10115f0
mov eax, dword [esp + 0x94]
jmp 0x101132d
test dword [esp + 0x88], 0x1000000
je 0x101144c
mov esi, dword [esp + 0x8c]
jmp 0x1011354
sub ecx, ebx
lea esi, [edx + 1]
cmp ecx, esi
jl 0x101144c
mov ecx, edx
mov esi, edi
mov ebp, ecx
lea edi, [ebx + eax]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
and ecx, 3
add ebx, edx
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x8c]
mov ecx, dword [esp + 0x98]
jmp 0x101136c
mov byte [ebx + eax], 0
inc ebx
test esi, esi
je 0x10116f5
test dword [esp + 0x88], 0x1000000
jne 0x101170a
mov ecx, dword [esp + 0x60]
call fcn.01011773
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x70
ret 0x18
mov edi, dword [esp + 0x44]
dec esi
test edi, edi
je 0x1011726
mov dl, byte [ebx + eax - 2]
mov cl, byte [esi + 0x5fc86ff0]
cmp dl, cl
jne 0x10116f5
jmp 0x10128d7
cmp byte [ebx + eax - 2], 1
jne 0x10116f5
jmp 0x10128d7
mov dx, word [esp + 0x1e]
mov dword [esp + 0x4c], 0
test dh, 0xc0
je 0x10123bd
mov esi, dword [esp + 0x20]
xor edx, edx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x90]
sub edx, esi
sub edx, 0
je 0x1012318
dec edx
je 0x101230b
dec edx
je 0x10122fe
mov edx, dword [esp + 0x14]
mov dx, word [edx + 6]
mov word [esp + 0x5c], dx
mov edx, dword [esp + 0x14]
mov dx, word [edx + 4]
mov word [esp + 0x40], dx
mov edx, dword [esp + 0x14]
mov dx, word [edx + 2]
mov word [esp + 0x44], dx
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x2c]
mov esi, dword [edx + 0x14]
test esi, esi
je 0x101237b
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x90]
inc edx
cmp edx, esi
jg 0x101237b
mov esi, dword [esp + 0x14]
xor edx, edx
mov dx, word [esi + 2]
mov esi, dword [esp + 0x18]
mov edx, dword [esi + edx*4]
xor edx, ebx
test edx, 0xe7ffffff
jne 0x101237b
mov edx, dword [esp + 0x2c]
xor esi, esi
mov edx, dword [edx + 0x18]
mov si, word [edx + 4]
test esi, esi
mov dword [esp + 0x18], esi
je 0x101237b
mov esi, dword [esp + 0x44]
cmp word [edx + 6], si
jbe 0x10123e1
mov esi, dword [esp + 0x18]
add edx, 0x10
dec esi
mov dword [esp + 0x18], esi
jne 0x1012363
mov edx, dword [esp + 0x2c]
xor esi, esi
mov edx, dword [edx + 0x18]
mov si, word [edx + 4]
test esi, esi
mov dword [esp + 0x18], esi
je 0x10123ac
mov esi, dword [esp + 0x64]
cmp word [edx + 6], si
jbe 0x10124ee
mov esi, dword [esp + 0x18]
add edx, 0x10
dec esi
mov dword [esp + 0x18], esi
jne 0x1012390
mov edx, dword [esp + 0x4c]
test edx, edx
jne 0x1010d4d
mov dx, word [esp + 0x1e]
mov byte [ecx], al
mov al, byte [esp + 0x84]
inc ecx
mov byte [ecx], bl
mov byte [ebp], dl
mov dl, dh
inc ecx
and dl, al
inc ebp
and dl, 0x3f
mov byte [edi], dl
inc edi
mov dword [esp + 0x28], edi
jmp 0x1010f4a
cmp dword [esp + 0x18], 0
je 0x101237b
cmp word [edx + 6], si
jne 0x101237b
mov esi, dword [esp + 0x40]
cmp si, word [edx + 0xc]
jb 0x101237b
cmp si, word [edx + 0xe]
ja 0x101237b
mov esi, dword [esp + 0x2c]
xor eax, eax
mov ax, word [edx + 8]
mov esi, dword [esi + 0x1c]
lea eax, [esi + eax*8]
xor esi, esi
mov si, word [edx + 0xa]
test esi, esi
mov dword [esp + 0x18], esi
je 0x1012433
mov edx, dword [esp + 0x40]
cmp word [eax], dx
jbe 0x101243d
add eax, 8
dec esi
jne 0x1012424
mov dword [esp + 0x18], esi
mov ax, word [esp + 0x12]
jmp 0x101237b
test esi, esi
mov dword [esp + 0x18], esi
je 0x1012433
mov esi, dword [esp + 0x5c]
cmp word [eax], dx
jne 0x1012433
mov dx, word [eax + 2]
test dx, dx
je 0x1012470
cmp dx, si
je 0x10124da
mov edx, dword [esp + 0x18]
add eax, 8
dec edx
mov dword [esp + 0x18], edx
je 0x1012433
mov edx, dword [esp + 0x40]
jmp 0x1012449
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
je 0x101249b
and byte [ebx - 0x397cf939], al
invalid
mov dword [esp + 0x14], edi
mov ebx, dword [eax + 4]
mov dl, byte [esp + 0x84]
mov ax, bx
mov dword [esp + 0x1c], ebx
shr ax, 8
mov byte [ecx], al
inc ecx
mov word [esp + 0x12], ax
mov edi, dword [esp + 0x28]
mov byte [ecx], bl
inc ecx
mov dword [esp + 0x20], esi
mov dword [esp + 0x4c], 1
mov byte [ecx], al
mov ax, word [esp + 0x1e]
inc ecx
mov byte [ecx], bl
inc ecx
mov byte [ebp], al
inc ebp
mov byte [ebp], al
mov al, ah
and al, dl
inc ebp
and al, 0x3f
mov byte [edi], al
inc edi
mov byte [edi], al
inc edi
mov dword [esp + 0x28], edi
jmp 0x1012433
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
add edi, 8
add esi, 4
mov dword [esp + 0x14], edi
jmp 0x1012482
cmp dword [esp + 0x18], 0
je 0x10123ac
cmp word [edx + 6], si
jne 0x10123ac
mov esi, dword [esp + 0x44]
cmp si, word [edx + 0xc]
jb 0x10123ac
cmp si, word [edx + 0xe]
ja 0x10123ac
mov esi, dword [esp + 0x2c]
xor eax, eax
mov ax, word [edx + 8]
mov esi, dword [esi + 0x1c]
lea eax, [esi + eax*8]
xor esi, esi
mov si, word [edx + 0xa]
test esi, esi
mov dword [esp + 0x18], esi
je 0x101254c
mov edx, dword [esp + 0x44]
cmp word [eax], dx
jbe 0x1012556
add eax, 8
dec esi
jne 0x101253d
mov dword [esp + 0x18], esi
mov ax, word [esp + 0x12]
jmp 0x10123ac
test esi, esi
mov dword [esp + 0x18], esi
je 0x101254c
mov esi, dword [esp + 0x40]
cmp word [eax], dx
jne 0x101254c
mov dx, word [eax + 2]
test dx, dx
je 0x1012589
cmp dx, si
je 0x10125d2
mov edx, dword [esp + 0x18]
add eax, 8
dec edx
mov dword [esp + 0x18], edx
je 0x101254c
mov edx, dword [esp + 0x44]
jmp 0x1012562
mov edx, dword [esp + 0x20]
mov eax, dword [eax + 4]
mov esi, dword [esp + 0x14]
add edx, 2
mov dword [esp + 0x20], edx
xor edx, edx
mov dl, ah
add esi, 4
mov byte [ecx], dl
mov bl, byte [esp + 0x84]
inc ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], esi
mov byte [ecx], al
mov ax, word [esp + 0x1e]
mov byte [ebp], al
mov al, ah
and al, bl
inc ecx
and al, 0x3f
inc ebp
mov byte [edi], al
inc edi
mov dword [esp + 0x28], edi
jmp 0x1010d4d
mov edx, dword [esp + 0x20]
mov eax, dword [eax + 4]
mov esi, dword [esp + 0x14]
add edx, 3
mov dword [esp + 0x20], edx
xor edx, edx
mov dl, ah
add esi, 6
mov byte [ecx], dl
mov bl, byte [esp + 0x84]
inc ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], esi
mov byte [ecx], al
mov ax, word [esp + 0x1e]
mov byte [ebp], al
mov al, ah
and al, bl
inc ecx
and al, 0x3f
inc ebp
mov byte [edi], al
inc edi
mov dword [esp + 0x28], edi
jmp 0x1010d4d
mov eax, dword [esp + 0x50]
dec edi
cmp edi, eax
jb 0x10126fd
cmp byte [edi], 2
ja 0x10126fd
dec edi
cmp edi, eax
jae 0x10126f3
sub edi, eax
inc edi
mov dword [esp + 0x98], edi
jmp 0x1010dfd
add ebx, 2
mov eax, 2
jmp 0x1011151
mov ecx, dword [esp + 0x78]
dec ebx
test ecx, ecx
jne 0x10116f5
mov ecx, dword [esp + 0x74]
dec ebx
test ecx, ecx
jne 0x10116f5
dec ebx
test eax, eax
jne 0x10116f5
mov eax, dword [esp + 0x98]
dec ebx
test eax, eax
jne 0x10116f5
mov ecx, dword [esp + 0x60]
dec ebx
call fcn.01011773
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x70
ret 0x18
mov edx, dword [esp + 0x30]
xor eax, eax
sub ecx, edx
cmp ecx, 4
jb 0x1012788
mov esi, ecx
shr esi, 2
mov edi, esi
neg edi
lea ecx, [ecx + edi*4]
mov ebp, dword [edx]
add edx, 4
rol eax, 3
xor eax, ebp
dec esi
jne 0x101277b
test ecx, ecx
jle 0x1012799
xor ebx, ebx
mov bl, byte [edx]
rol eax, 3
xor eax, ebx
inc edx
dec ecx
jne 0x101278c
mov ecx, dword [esp + 0x94]
mov ebx, 4
mov dword [ecx], eax
mov ecx, dword [esp + 0x60]
call fcn.01011773
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x70
ret 0x18
test dword [esp + 0x88], 0x1000000
je 0x101144c
jmp 0x10112ec
mov edx, dword [esp + 0x50]
mov ebp, edi
sub ebp, edx
dec edi
test ebp, ebp
je 0x1011305
cmp byte [edi], 2
ja 0x10127f2
dec edi
dec ebp
je 0x1011305
jmp 0x10127e3
test ebp, ebp
je 0x1011305
sub ecx, ebx
lea edx, [ebp + 1]
cmp ecx, edx
jl 0x101144c
mov esi, dword [esp + 0x50]
mov ecx, ebp
mov edx, ecx
lea edi, [ebx + eax]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
add ebx, ebp
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x98]
jmp 0x1011305
mov esi, dword [esp + 0x98]
cmp ebx, esi
jge 0x101288d
mov dl, byte [0x5fc86fec]
mov byte [ebx + eax], dl
inc ebx
cmp ebx, esi
jge 0x10128a0
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x44], 1
inc ecx
mov dword [esp + 0x8c], ecx
cmp ebx, esi
jge 0x10128a0
mov cl, byte [0x5fc86fed]
mov byte [ebx + eax], cl
inc ebx
cmp ebx, esi
jge 0x10128b1
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x84], 2
inc ecx
mov dword [esp + 0x8c], ecx
jmp 0x1011474
test dword [esp + 0x88], 0x1000000
je 0x101144c
jmp 0x101285c
test dword [esp + 0x88], 0x1000000
je 0x101144c
mov dword [esp + 0x84], 2
jmp 0x1011474
test dword [esp + 0x88], 0x1000000
je 0x101144c
jmp 0x10115f0
mov byte [ebx + eax - 2], 0
dec ebx
mov ecx, esi
dec esi
test ecx, ecx
jne 0x101170f
jmp 0x10116f5