Function at 0x5ca59c
Capabilities:
Clear file content

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x3108
call fcn.00722ce0
mov eax, dword [0xee37e4]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
mov ebx, dword [ebp + 8]
xor edx, edx
push esi
mov esi, ecx
push edi
mov dword [ebp - 0x30f8], esi
mov eax, dword [esi + 8]
movzx edi, word [eax + 0x950a]
mov dword [ebp - 0x30dc], edi
cmp dword [ebp + 0xc], edx
jne 0x5ca5f9
cmp byte [esi + 0x5f], dl
je 0x5ca6b7
push edi
push edx
lea edx, [esi + 0x10]
mov ecx, ebx
call fcn.005d0920
pop ecx
pop ecx
test al, al
je 0x5ca6ab
xor edx, edx
mov eax, dword [ebx + 0x21cc]
cmp eax, 2
je 0x5ca6e4
cmp dword [ebx + 0x7de0], 2
jne 0x5ca669
cmp eax, 0x77
jne 0x5ca669
cmp byte [esi + 0x10f5], 0
je 0x5ca64b
mov ecx, dword [esi + 8]
lea edx, [esi + 0x10f6]
cmp byte [ecx + 0x6401], 0
jne 0x5ca64b
movzx eax, word [ebx + 0x56f8]
sub eax, 0x104
je 0x5ca657
sub eax, 1
jne 0x5ca64b
mov ecx, ebx
call fcn.005d178e
mov ecx, ebx
call fcn.005cdc74
jmp 0x5ca6e0
cmp byte [ecx + 0x6194], 0
je 0x5ca64b
mov ecx, ebx
call fcn.005d1ceb
jmp 0x5ca64b
cmp eax, 3
jne 0x5ca68b
cmp byte [esi + 0x10f5], 0
je 0x5ca64b
mov ecx, dword [esi + 8]
lea eax, [esi + 0x10f6]
push eax
mov edx, ebx
call fcn.005d255b
pop ecx
jmp 0x5ca64b
cmp eax, 5
jne 0x5ca64b
cmp byte [ebx + 0x56dc], 0
je 0x5ca6b7
push edi
push edx
lea edx, [esi + 0x10]
mov ecx, ebx
call fcn.005d0920
pop ecx
pop ecx
test al, al
jne 0x5ca6ca
push 1
mov ecx, 0xef8e90
call fcn.005d105f
xor al, al
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.006f3e28
leave
ret 0xc
mov eax, dword [ebx]
xor ecx, ecx
push ecx
push dword [ebx + 0x7dd4]
mov ecx, ebx
push dword [ebx + 0x7dd0]
call dword [eax + 0x10]
mov al, 1
jmp 0x5ca6b9
mov byte [esi + 0x10f5], dl
cmp dword [ebx + 0x440c], edx
jg 0x5ca708
jl 0x5ca6fc
cmp dword [ebx + 0x4408], edx
jae 0x5ca708
mov dword [ebx + 0x4408], edx
mov dword [ebx + 0x440c], edx
cmp dword [ebx + 0x4414], edx
jg 0x5ca726
jl 0x5ca71a
cmp dword [ebx + 0x4410], edx
jae 0x5ca726
mov dword [ebx + 0x4410], edx
mov dword [ebx + 0x4414], edx
mov ecx, dword [esi + 8]
cmp dword [ecx + 0x6160], edx
jne 0x5ca74c
mov eax, dword [esi + 0xec]
cmp eax, dword [ecx + 0xb544]
jb 0x5ca74c
cmp byte [esi + 0xf1], 0
jne 0x5ca6b7
push ecx
mov byte [ebp - 0x30d8], dl
lea eax, [ebx + 0x33b0]
lea edx, [ebp - 0x2064]
push edx
push ecx
push ecx
lea edx, [ebp - 0x30d8]
push edx
push eax
call fcn.005d13ae
test eax, eax
setne cl
mov dword [ebp - 0x30e8], ecx
mov byte [ebp - 0xc], cl
mov ecx, dword [esi + 8]
cmp dword [ecx + 0x615c], 2
jne 0x5ca7d1
push 0x800
add ecx, 0x4028
lea edx, [ebp - 0x2064]
call fcn.005cc069
pop ecx
mov ecx, dword [esi + 8]
add ecx, 0x4028
call fcn.005cc5cd
xor ecx, ecx
mov word [eax], cx
mov ecx, dword [esi + 8]
add ecx, 0x4028
call fcn.005cc7fb
test al, al
je 0x5ca7d1
mov eax, dword [esi + 8]
xor ecx, ecx
mov word [eax + 0x4028], cx
cmp byte [ebp - 0x30e8], 0
je 0x5ca7eb
cmp byte [ebp - 0x30d8], 0
jne 0x5ca7eb
xor eax, eax
mov byte [esi + 0xf1], al
mov ecx, ebx
call fcn.005d058b
push 0x800
lea ecx, [ebx + 0x33d8]
lea edx, [ebp - 0x1014]
call fcn.005cc640
cmp byte [ebx + 0x44a3], 0
pop ecx
je 0x5ca897
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x74c4]
cmp ecx, 1
je 0x5ca8be
cmp byte [ebp - 0x30d8], 0
jne 0x5ca8be
mov eax, dword [ebp - 0xc]
xor edx, edx
movzx eax, al
test ecx, ecx
push 0x3b
cmovne edx, eax
xor eax, eax
mov edi, eax
mov dword [ebp - 0x30e8], edx
lea eax, [ebp - 0x1014]
push eax
call fcn.006f5536
pop ecx
pop ecx
test eax, eax
je 0x5ca86a
lea ecx, [eax + 2]
call fcn.005ca34b
mov edi, eax
mov ecx, dword [esi + 8]
mov ecx, dword [ecx + 0x74c4]
dec ecx
cmp ecx, edi
jne 0x5ca887
mov dl, 1
lea ecx, [ebp - 0x1014]
call fcn.005ccca4
jmp 0x5ca88f
xor eax, eax
mov byte [ebp - 0x30e8], al
mov edi, dword [ebp - 0x30dc]
jmp 0x5ca8be
cmp byte [ebx + 0x44a1], 0
jne 0x5ca8be
mov eax, dword [esi + 8]
xor edx, edx
mov ecx, dword [ebp - 0x30e8]
movzx ecx, cl
cmp dword [eax + 0x74c4], 1
cmova ecx, edx
mov byte [ebp - 0x30e8], cl
mov al, byte [ebx + 0x4449]
mov byte [esi + 0x5f], al
xor eax, eax
mov byte [esi + 0x60], al
mov ecx, dword [ebx + 0x7dd8]
sub ecx, dword [ebx + 0x4408]
mov edx, dword [ebx]
push eax
mov eax, dword [ebx + 0x7ddc]
sbb eax, dword [ebx + 0x440c]
push eax
push ecx
mov ecx, ebx
call dword [edx + 0x10]
mov eax, dword [ebp - 0x30e8]
xor ecx, ecx
mov byte [ebp - 0x30e0], cl
mov byte [ebp - 0x30d5], cl
cmp byte [esi + 0xf0], cl
je 0x5ca95c
test al, al
jne 0x5ca916
cmp byte [ebx + 0x7de4], cl
je 0x5ca95c
cmp byte [ebx + 0x4448], cl
je 0x5ca95c
test al, al
je 0x5ca94e
push 0x46
lea ecx, [ebp - 0x1064]
call fcn.005ca439
mov eax, dword [esi + 8]
mov dword [eax + 0x94e8], 0xc
inc dword [0xef8e94]
xor ecx, ecx
mov dword [0xef8e90], 6
mov byte [ebp - 0x30e8], cl
mov byte [esi + 0xf0], cl
jmp 0x5ca966
mov byte [esi + 0xf0], cl
test al, al
jne 0x5ca97a
mov al, byte [ebx + 0x7de4]
mov byte [ebp - 0x30d5], al
test al, al
je 0x5cb4e2
push ecx
lea eax, [esi + 0x10f6]
mov ecx, esi
push eax
lea eax, [ebp - 0x1014]
push eax
push ebx
call fcn.005cb6b0
xor eax, eax
cmp byte [ebp - 0x30d5], al
jne 0x5ca9b3
cmp word [esi + 0x10f6], ax
je 0x5ca9b3
mov byte [ebp - 0x30e0], 1
cmp byte [ebx + 0x4448], al
je 0x5ca9b9
mov byte [ebp - 0x30e0], al
mov eax, dword [esi + 8]
push 0x45
pop ecx
push 0x58
cmp byte [eax + 0x6157], 0
pop edx
mov dword [ebp - 0x3104], ecx
mov dword [ebp - 0x3100], edx
jne 0x5ca9e4
cmp byte [eax + 0x6158], 0
je 0x5caa69
cmp di, cx
je 0x5ca9ee
cmp di, dx
jne 0x5caa69
lea ecx, [ebp - 0x20ac]
call fcn.005ca516
push ecx
mov edx, ecx
lea ecx, [esi + 0x10f6]
call fcn.005d30f4
pop ecx
test al, al
je 0x5caa4c
lea eax, [ebx + 0x43f0]
push eax
lea ecx, [ebp - 0x109c]
call fcn.005ca410
test al, al
je 0x5caa69
cmp byte [ebp - 0x10a0], 0
je 0x5caa42
mov eax, dword [ebp - 0x1098]
cmp eax, dword [esi + 4]
ja 0x5caa69
jb 0x5caa42
mov eax, dword [ebp - 0x109c]
cmp eax, dword [esi]
jae 0x5caa69
xor eax, eax
mov byte [ebp - 0x30e0], al
jmp 0x5caa69
mov eax, dword [esi + 8]
xor edx, edx
mov ecx, dword [ebp - 0x30e0]
movzx ecx, cl
cmp byte [eax + 0x6157], dl
cmovne ecx, edx
mov dword [ebp - 0x30e0], ecx
push ecx
push ebx
call fcn.005cbe09
test al, al
jne 0x5caaa3
push 2
mov ecx, 0xef8e90
call fcn.005d105f
mov eax, dword [esi + 8]
mov ecx, ebx
mov dword [eax + 0x94e8], 0xe
call fcn.005cdc74
cmp byte [ebx + 0x7de4], 0
sete al
jmp 0x5ca6b9
cmp byte [ebx + 0x444b], 0
je 0x5caac9
mov ecx, esi
call fcn.005cb8d7
test al, al
jne 0x5caac9
mov eax, dword [esi + 8]
mov dword [eax + 0x94e8], 0x16
jmp 0x5ca6b7
mov esi, dword [esi + 8]
lea edi, [ebp - 0x116c]
push 0x40
pop ecx
add esi, 0x5028
lea eax, [ebp - 0x116c]
rep movsd dword es:[edi], dword [esi]
push eax
push ebx
movsw word es:[edi], word [esi]
mov esi, dword [ebp - 0x30f8]
mov ecx, esi
call fcn.005cb9f8
xor ecx, ecx
lea eax, [ebx + 0x4451]
cmp byte [ebx + 0x4450], cl
lea edi, [ebx + 0x447b]
lea edx, [ebx + 0x4461]
cmovne ecx, eax
lea eax, [ebp - 0x10]
push eax
push edi
push dword [ebx + 0x449c]
lea eax, [ebp - 0x116c]
push edx
push ecx
mov ecx, dword [esi + 0x54]
push eax
push dword [ebx + 0x444c]
xor eax, eax
push eax
call fcn.005de68f
mov byte [esi + 0xdd], al
cmp byte [ebx + 0x444b], 0
je 0x5cabce
cmp byte [ebx + 0x4471], 0
je 0x5cabce
mov eax, dword [ebx + 0x4472]
lea ecx, [ebp - 0x10]
cmp eax, dword [ecx]
jne 0x5cab6a
mov eax, dword [ebx + 0x4476]
cmp eax, dword [ecx + 4]
je 0x5cabce
cmp byte [ebx + 0x7df4], 0
jne 0x5cabce
cmp byte [esi + 0x10f4], 0
lea ecx, [ebp - 0x1064]
je 0x5cab8b
push 6
call fcn.005ca439
jmp 0x5caba0
push 0x7d
call fcn.005ca439
mov ecx, dword [esi + 8]
add ecx, 0x5028
call fcn.005c9ce4
mov eax, dword [esi + 8]
cmp dword [eax + 0x94e8], 0xf
je 0x5cabb6
mov dword [eax + 0x94e8], 0x18
inc dword [0xef8e94]
xor eax, eax
mov dword [0xef8e90], 0xb
mov byte [ebp - 0x30e0], al
lea ecx, [ebp - 0x116c]
call fcn.005c9ce4
mov edx, dword [esi + 8]
xor eax, eax
add edx, 0x84e4
cmp word [edx], ax
je 0x5cabfa
push 0x800
lea ecx, [esi + 0x10f6]
call fcn.005cc069
pop ecx
lea ecx, [ebp - 0x30d4]
call fcn.005d285a
mov eax, dword [ebx + 0x44b0]
mov dword [ebp - 0x30ec], eax
push 0x50
pop edx
test eax, eax
je 0x5cac9d
cmp eax, 5
je 0x5cac9d
mov ecx, dword [ebp - 0x30e0]
mov edi, dword [ebp - 0x30dc]
test cl, cl
je 0x5cad2d
cmp di, dx
je 0x5cad4e
mov eax, dword [esi + 8]
cmp byte [eax + 0x6401], 0
jne 0x5cad4e
xor eax, eax
lea ecx, [esi + 0x10f6]
mov byte [ebp - 0x30d8], al
call fcn.005d3655
cmp eax, 0xffffffff
je 0x5cad4e
xor eax, eax
xor edx, edx
push eax
sub esp, 0xc
lea eax, [ebp - 0x30d8]
push eax
push ecx
mov ecx, dword [esi + 8]
lea eax, [esi + 0x10f6]
push eax
call fcn.005dccf7
add esp, 0x1c
cmp byte [ebp - 0x30d8], 0
je 0x5cad4e
xor eax, eax
jmp 0x5cad19
cmp byte [ebx + 0x44a1], 0
je 0x5cacfa
cmp byte [ebp - 0x30e0], 0
je 0x5cacea
mov eax, dword [ebp - 0x30dc]
cmp ax, 0x50
je 0x5cacea
cmp ax, 0x49
je 0x5cacea
push 0x45
pop ecx
cmp ax, cx
je 0x5cacea
mov eax, dword [esi + 8]
cmp dword [eax + 0x615c], 1
je 0x5cacea
inc dword [esi + 0xe4]
lea ecx, [ebp - 0x1014]
push ecx
push ebx
mov ecx, esi
call fcn.005cbab1
lea ecx, [ebp - 0x30d4]
call fcn.005d28b1
jmp 0x5ca6e0
mov ecx, dword [ebp - 0x30e0]
test cl, cl
je 0x5cad27
lea eax, [ebp - 0x30d4]
push eax
push ecx
mov ecx, esi
call fcn.005cbcdc
mov edi, dword [ebp - 0x30dc]
mov cl, al
mov dword [ebp - 0x30e0], ecx
test cl, cl
jne 0x5cad4e
jmp 0x5cad2d
mov edi, dword [ebp - 0x30dc]
cmp byte [ebx + 0x7de4], 0
je 0x5cad46
mov dl, 1
mov byte [ebp - 0x30d5], dl
mov byte [ebp - 0x30e0], dl
jmp 0x5cad54
test cl, cl
je 0x5cb4c2
mov dl, byte [ebp - 0x30d5]
mov eax, dword [esi + 8]
cmp byte [eax + 0x6401], 0
je 0x5cad74
mov byte [esi + 0x10f5], 1
cmp byte [eax + 0x6401], 0
jne 0x5cae11
test dl, dl
jne 0x5cae11
xor eax, eax
push 0x50
mov byte [ebp - 0x30d8], al
pop eax
cmp di, ax
je 0x5cadba
lea ecx, [ebp - 0x30d4]
call fcn.005d30d5
test al, al
je 0x5cadb4
push 0x3b
lea ecx, [ebp - 0x1064]
call fcn.005ca439
push 5
mov ecx, 0xef8e90
call fcn.005d102d
mov dl, byte [ebp - 0x30d5]
inc dword [esi + 0xe4]
inc dword [esi + 0xe8]
mov edi, 0xe73f6c
mov ecx, dword [ebp - 0x30dc]
push 0x49
pop eax
cmp cx, ax
je 0x5cae2e
test dl, dl
jne 0x5cae1e
mov eax, dword [esi + 8]
push 0x54
pop edx
movzx ecx, cx
cmp byte [eax + 0x6401], 0
push 0x45
cmovne ecx, edx
pop eax
cmp ecx, eax
je 0x5cae09
push 0x50
pop eax
cmp ecx, eax
je 0x5cae1e
cmp ecx, edx
je 0x5cae1e
push 0x58
pop eax
cmp ecx, eax
jne 0x5cae2e
lea eax, [esi + 0x10f6]
jmp 0x5cae24
mov byte [ebp - 0x30d8], 1
test dl, dl
jne 0x5cadc0
jmp 0x5cadba
lea eax, [ebp - 0x1014]
push eax
push edi
call fcn.00428edf
add esp, 8
xor eax, eax
lea edi, [ebx + 0x4420]
mov dword [esi + 0x80], eax
lea ecx, [esi + 0xc8]
mov dword [esi + 0x84], eax
mov dword [esi + 0x88], eax
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 8]
push dword [eax + 0x84e0]
push dword [edi]
call fcn.005dca65
mov eax, dword [esi + 8]
lea ecx, [esi + 0xa0]
push dword [eax + 0x84e0]
push dword [edi]
call fcn.005dca65
mov eax, dword [ebx + 0x4408]
xorps xmm0, xmm0
mov ecx, dword [ebx + 0x440c]
mov dword [esi + 0x30], eax
lea eax, [ebp - 0x30d4]
mov dword [esi + 0x34], ecx
or dword [esi + 0x58], 0xffffffff
mov cl, byte [ebp - 0x30d5]
mov dword [esi + 0x40], eax
mov al, byte [ebp - 0x30d8]
mov dword [esi + 0x3c], ebx
mov byte [esi + 0x39], al
mov byte [esi + 0x3a], cl
movlpd qword [ebp - 0x30fc], xmm0
test al, al
jne 0x5caf83
cmp byte [ebx + 0x7df4], al
jne 0x5caf83
mov edi, dword [ebx + 0x4414]
xor eax, eax
mov edx, dword [ebx + 0x4410]
cmp edi, eax
jl 0x5caf83
jg 0x5caef1
cmp edx, 0xf4240
jbe 0x5caf83
mov ecx, dword [ebx + 0x4408]
mov eax, dword [ebx + 0x440c]
shld eax, ecx, 0xa
shl ecx, 0xa
cmp eax, edi
jl 0x5caf83
jg 0x5caf0e
cmp ecx, edx
jbe 0x5caf83
test edi, edi
jl 0x5caf35
jg 0x5caf1c
cmp edx, 0x5f5e100
jb 0x5caf35
mov ecx, ebx
call fcn.005d308b
cmp edx, dword [ebx + 0x440c]
jl 0x5caf83
jg 0x5caf35
cmp eax, dword [ebx + 0x4408]
jbe 0x5caf83
push 0
push dword [ebx + 0x4414]
lea ecx, [ebp - 0x30d4]
push dword [ebx + 0x4410]
call fcn.005d2eb9
test al, al
je 0x5caf72
push dword [ebp - 0x30d0]
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
xor eax, eax
lea ecx, [ebp - 0x30d4]
push eax
push eax
push eax
mov eax, dword [ebp - 0x30d4]
call dword [eax + 0x10]
mov edx, dword [ebx + 0x4414]
mov eax, dword [ebx + 0x4410]
mov dword [ebp - 0xc], edx
jmp 0x5caf92
mov eax, dword [ebp - 0x30f8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x30fc]
mov ecx, dword [esi + 8]
mov dword [ebp - 0x30f0], eax
cmp byte [ecx + 0x61a0], 0
sete byte [ebp - 0x30c1]
cmp byte [ebp - 0x30d8], 0
jne 0x5cafd5
cmp byte [ebp - 0x30d5], 0
jne 0x5cafd5
mov edi, dword [ebp - 0x30dc]
push 0x50
pop eax
cmp di, ax
je 0x5cafd5
mov al, 1
xor edx, edx
mov byte [ebp - 0x30d6], al
jmp 0x5cafdf
xor edx, edx
mov al, dl
mov byte [ebp - 0x30d6], dl
cmp dword [ebp - 0x30ec], 0
mov byte [ebp - 0x30e1], 1
mov byte [ebp - 0x30d7], 1
je 0x5cb105
mov edi, dword [ebx + 0x44b0]
cmp edi, 4
je 0x5cb05d
cmp edi, 5
je 0x5cb05d
cmp edi, 1
je 0x5cb033
cmp edi, 2
je 0x5cb033
cmp edi, 3
je 0x5cb033
push 0x47
lea ecx, [ebp - 0x1064]
call fcn.005ca439
xor cl, cl
mov byte [ebp - 0x30d7], cl
jmp 0x5cb0df
test al, al
je 0x5cb0cc
cmp dword [ebx + 0x7de0], 3
jne 0x5cb059
lea eax, [ebx + 0x33b0]
push eax
lea edx, [esi + 0x10f6]
call fcn.005d20cd
pop ecx
jmp 0x5cb0b8
mov cl, dl
jmp 0x5cb0c0
push ecx
lea eax, [ebp - 0x2064]
mov ecx, esi
push eax
lea eax, [ebx + 0x44b4]
push eax
push ebx
call fcn.005cb6b0
mov al, byte [ebp - 0x30d6]
test al, al
je 0x5cb0cc
cmp word [ebp - 0x2064], 0
je 0x5cb0cc
push ecx
cmp edi, 4
jne 0x5cb0a1
lea edx, [ebp - 0x2064]
lea ecx, [esi + 0x10f6]
call fcn.005d16ff
jmp 0x5cb056
lea eax, [ebp - 0x2064]
push eax
push ecx
push ecx
lea eax, [ebp - 0x30d4]
mov ecx, esi
push eax
call fcn.005cb59d
mov cl, al
mov al, byte [ebp - 0x30d6]
mov byte [ebp - 0x30d7], cl
test cl, cl
je 0x5cb0df
jmp 0x5cb0d2
mov cl, byte [ebp - 0x30d7]
cmp dword [ebx + 0x7de0], 2
jne 0x5cb0ec
test al, al
jne 0x5cb0f0
mov al, byte [ebp - 0x30d6]
mov byte [ebp - 0x30e1], 0
test al, al
je 0x5cb0f8
test cl, cl
je 0x5cb0f8
mov al, 1
jmp 0x5cb0fa
xor eax, eax
mov byte [esi + 0x10f5], al
jmp 0x5cb1d9
cmp byte [ebx + 0x4448], 0
jne 0x5cb1d9
cmp byte [ebx + 0x33d0], 0
jne 0x5cb136
push dword [ebx + 0x4414]
lea ecx, [esi + 0x10]
push dword [ebx + 0x4410]
call fcn.005cb510
pop ecx
pop ecx
jmp 0x5cb1d9
movzx eax, byte [ebx + 0x44a0]
mov ecx, dword [esi + 0xe0]
push eax
push dword [ebx + 0x44a4]
call fcn.005dc343
mov edx, dword [esi + 0xe0]
mov eax, dword [ebx + 0x4410]
mov ecx, dword [ebx + 0x4414]
mov dword [edx + 0x4c48], eax
xor eax, eax
mov dword [edx + 0x4c4c], ecx
mov byte [edx + 0x4c60], al
cmp dword [ebx + 0x7de0], 3
je 0x5cb1c0
cmp dword [ebx + 0x33cc], 0xf
ja 0x5cb1c0
cmp dword [esi + 0xe8], 1
jbe 0x5cb19f
mov byte [ebp - 0x30f8], 1
cmp byte [ebx + 0x7de4], al
jne 0x5cb1a5
mov byte [ebp - 0x30f8], al
mov ecx, dword [esi + 0xe0]
cmp byte [ecx + 0x4c44], al
jne 0x5cb1d9
push dword [ebp - 0x30f8]
call fcn.005d708b
jmp 0x5cb1d9
movzx eax, byte [ebx + 0x44a0]
mov ecx, dword [esi + 0xe0]
push eax
push dword [ebx + 0x33cc]
call fcn.005dc4b8
mov ecx, ebx
call fcn.005cdc74
cmp byte [ebx + 0x4449], 0
jne 0x5cb217
xor eax, eax
lea ecx, [ebx + 0x447b]
cmp byte [ebx + 0x447a], al
cmovne eax, ecx
lea ecx, [esi + 0xc8]
push eax
lea eax, [ebx + 0x4420]
push eax
call fcn.005dcc66
test al, al
je 0x5cb217
mov cl, 1
xor edx, edx
jmp 0x5cb21b
xor edx, edx
mov cl, dl
cmp byte [ebx + 0x44a0], 0
jne 0x5cb22c
mov byte [esi + 0xf3], dl
jmp 0x5cb252
cmp byte [ebx + 0x33d0], 0
je 0x5cb252
cmp dword [ebx + 0x4414], edx
jl 0x5cb252
jg 0x5cb247
cmp dword [ebx + 0x4410], edx
jbe 0x5cb252
test cl, cl
je 0x5cb252
mov byte [esi + 0xf3], 1
cmp byte [ebp - 0x30d5], 0
mov al, dl
mov byte [ebp - 0x30d6], al
jne 0x5cb350
cmp byte [ebp - 0x30e1], 0
je 0x5cb350
test cl, cl
je 0x5cb2d7
mov edi, dword [ebp - 0x30dc]
push 0x50
pop ecx
cmp di, cx
je 0x5cb356
push 0x49
pop ecx
cmp di, cx
je 0x5cb356
cmp dword [ebx + 0x4420], edx
mov ecx, 0xe73f6c
mov eax, 0xeac13c
mov edx, str._b_b_b_b_b
cmovne eax, ecx
mov ecx, 0xe7753c
push eax
mov eax, dword [esi + 8]
cmp byte [eax + 0x6148], 0
cmove ecx, edx
push ecx
push str._s_s
call fcn.00428edf
mov al, byte [ebp - 0x30d6]
add esp, 0xc
jmp 0x5cb356
cmp byte [ebx + 0x444b], 0
je 0x5cb2ff
cmp byte [ebx + 0x4471], 0
je 0x5cb2f2
cmp byte [ebx + 0x7df4], 0
je 0x5cb2ff
cmp byte [esi + 0xf3], 0
jne 0x5cb2ff
push 4
jmp 0x5cb301
push 3
lea ecx, [ebp - 0x1064]
call fcn.005ca439
push 3
mov ecx, 0xef8e90
mov byte [ebp - 0x30d6], 1
call fcn.005d105f
mov ecx, dword [esi + 8]
mov eax, dword [ecx + 0x94e8]
cmp eax, 0xf
je 0x5cb34a
mov edi, dword [ebp - 0x30dc]
cmp eax, 0x18
mov al, byte [ebp - 0x30d6]
je 0x5cb356
mov dword [ecx + 0x94e8], 0xc
jmp 0x5cb356
mov al, byte [ebp - 0x30d6]
mov edi, dword [ebp - 0x30dc]
cmp dword [ebp - 0x30ec], 0
mov dl, byte [ebp - 0x30d7]
je 0x5cb376
cmp dword [ebx + 0x44b0], 4
jne 0x5cb376
test dl, dl
je 0x5cb376
mov cl, 1
jmp 0x5cb378
xor ecx, ecx
cmp byte [ebp - 0x30d8], 0
jne 0x5cb4c2
cmp di, word [ebp - 0x3100]
je 0x5cb39b
cmp di, word [ebp - 0x3104]
jne 0x5cb4c2
cmp dword [ebp - 0x30ec], 0
je 0x5cb3bd
test cl, cl
jne 0x5cb3bd
cmp dword [ebx + 0x44b0], 5
jne 0x5cb4c2
test dl, dl
je 0x5cb4c2
test al, al
je 0x5cb3d7
mov eax, dword [esi + 8]
cmp byte [eax + 0x61a0], 0
je 0x5cb4c2
mov al, byte [ebp - 0x30d6]
test cl, cl
jne 0x5cb459
mov edx, dword [ebp - 0xc]
xor ecx, ecx
cmp edx, ecx
mov ecx, dword [ebp - 0x30f0]
ja 0x5cb3ee
test ecx, ecx
je 0x5cb40e
test al, al
jne 0x5cb402
cmp dword [esi + 0x88], ecx
jne 0x5cb402
cmp dword [esi + 0x8c], edx
je 0x5cb40e
push dword [ebp - 0x30d0]
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov ecx, dword [esi + 8]
lea eax, [ebx + 0x4400]
xor edx, edx
cmp dword [ecx + 0x74d8], edx
cmove eax, edx
cmp dword [ecx + 0x74d4], edx
push eax
lea eax, [ebx + 0x43f8]
cmove eax, edx
cmp dword [ecx + 0x74d0], edx
push eax
lea eax, [ebx + 0x43f0]
cmove eax, edx
lea ecx, [ebp - 0x30d4]
push eax
call fcn.005d2fa7
lea ecx, [ebp - 0x30d4]
call fcn.005d2bd3
mov eax, dword [esi + 8]
lea edi, [esi + 0x10f6]
cmp byte [eax + 0x63a9], 0
je 0x5cb47e
test dword [ebx + 0x33d4], 0x800
je 0x5cb47e
mov ecx, edi
call fcn.005d377e
mov eax, dword [esi + 8]
cmp byte [eax + 0x6154], 0
je 0x5cb491
and dword [ebx + 0x33d4], 0xffffffdf
mov eax, dword [esi + 8]
cmp byte [eax + 0x63aa], 0
jne 0x5cb4bb
mov edx, dword [ebx + 0x33d4]
mov ecx, edi
call fcn.005d36b0
test al, al
jne 0x5cb4bb
push 0x11
lea ecx, [ebp - 0x1064]
call fcn.005ca439
mov byte [esi + 0x10f5], 1
lea ecx, [ebp - 0x30d4]
call fcn.005d28b1
cmp byte [ebp - 0x30e8], 0
mov al, byte [ebp - 0x30d5]
je 0x5cb4e2
inc dword [esi + 0xec]
cmp byte [esi + 0x60], 0
jne 0x5ca6b7
cmp byte [ebp - 0x30e0], 0
jne 0x5ca6e0
cmp byte [ebx + 0x7de4], 0
je 0x5ca64b
test al, al
setne al
jmp 0x5ca6b9